<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        CodeforcesRound#264(Div.2)[ABCDE]

        來源:懂視網 責編:小采 時間:2020-11-09 15:40:51
        文檔

        CodeforcesRound#264(Div.2)[ABCDE]

        CodeforcesRound#264(Div.2)[ABCDE]:Codeforces Round #264 (Div. 2)[ABCDE] ACM 題目地址:Codeforces Round #264 (Div. 2) 這場只出了兩題TAT,C由于cin給fst了,D想到正解快敲完了卻game over了... 掉rating掉的厲害QvQ... A - Caisa and Sugar 【模擬】
        推薦度:
        導讀CodeforcesRound#264(Div.2)[ABCDE]:Codeforces Round #264 (Div. 2)[ABCDE] ACM 題目地址:Codeforces Round #264 (Div. 2) 這場只出了兩題TAT,C由于cin給fst了,D想到正解快敲完了卻game over了... 掉rating掉的厲害QvQ... A - Caisa and Sugar 【模擬】

        Codeforces Round #264 (Div. 2)[ABCDE] ACM 題目地址:Codeforces Round #264 (Div. 2) 這場只出了兩題TAT,C由于cin給fst了,D想到正解快敲完了卻game over了... 掉rating掉的厲害QvQ... A - Caisa and Sugar 【模擬】 題意 : Caisa拿s美元去超市買sugar,

        Codeforces Round #264 (Div. 2)[ABCDE]

        ACM

        題目地址: Codeforces Round #264 (Div. 2)

        這場只出了兩題TAT,C由于cin給fst了,D想到正解快敲完了卻game over了...
        掉rating掉的厲害QvQ...


        A - Caisa and Sugar【模擬】

        題意:
        Caisa拿s美元去超市買sugar,有n種sugar,每種為xi美元yi美分,超市找錢時不會找美分,而是用sweet代替,當然能用美元找就盡量用美元找。他想要盡量得到多的sweet。問最多能得到幾個sweet,買不起任何種的sugar的話就輸出-1。

        分析:
        表示題目略蛋疼,sugar和sweet不都是糖果嗎...
        反正要注意:

        1. 不能僅僅判斷美分找的sweet,還要看能不能買得起
        2. 不要忽略恰好能買得起的

        代碼:

        /*
        * Author: illuz 
        * Blog: http://blog.csdn.net/hcbbt
        * File: A.cpp
        * Create Date: 2014-08-30 15:41:45
        * Descripton: 
        */
        
        #include 
        using namespace std;
        #define repf(i,a,b) for(int i=(a);i<=(b);i++)
        
        typedef long long ll;
        
        const int N = 110;
        
        int x[N], y[N];
        int n, s;
        
        int main() {
        	int mmax = -1;
        	scanf("%d%d", &n, &s);
        	repf (i, 1, n) {
        	scanf("%d%d", &x[i], &y[i]);
        	if (x[i] < s) {
        	mmax = max(mmax, (100 - y[i]) % 100);
        	}
        	if (x[i] == s && y[i] == 0) {
        	mmax = max(mmax, 0);
        	}
        	}
        	printf("%d\n", mmax);
        
        	return 0;
        }
        



        B - Caisa and Pylons【貪心】

        題意:
        一個游戲,你必須跳過所有塔,游戲規則是:

        1. 初始你在0號塔,生命為0,0號塔高度為0。
        2. 只能從i跳到i+1號塔,生命變化為+(h[i]-h[i+1])
        3. 生命在任何時間都不能小于0
        4. 你可以花錢買一層的塔,讓某個塔增高一層。

        問通關最少要買幾層塔。

        分析:

        看懂題目貪心即可。

        代碼:

        /*
        * Author: illuz 
        * Blog: http://blog.csdn.net/hcbbt
        * File: B.cpp
        * Create Date: 2014-08-30 15:57:02
        * Descripton: 
        */
        
        #include 
        using namespace std;
        #define repf(i,a,b) for(int i=(a);i<=(b);i++)
        
        typedef long long ll;
        
        const int N = 1e5 + 10;
        
        ll n, h[N];
        ll energy, cast;
        
        int main() {
        	while (cin >> n) {
        	energy = 0, cast = 0;
        	repf (i, 1, n) {
        	cin >> h[i];
        	}
        	repf (i, 0, n - 1) {
        	energy += h[i] - h[i + 1];
        	if (energy < 0) {
        	cast += -energy;
        	energy = 0;
        	}
        	}
        	cout << cast << endl;
        	}
        	return 0;
        }
        



        C - Gargari and Bishops【預處理,黑白棋】

        題意:
        給你一個棋盤,格子上有些value,然后你要選擇兩個位置放棋子:

        1. 一個棋子能沿著對角線走,并吃掉格子上的value
        2. 任意一個格子不能同時被兩個棋子走到,就是說value不能重復吃

        問能吃到的最大value和,以及兩個棋子的位置。

        分析:

        對于規則2,就像黑白棋一樣,只要放的顏色不一樣就可以了,也就是(x+y)%2不一樣就行了。

        接下來就是求value和了。
        棋盤大小為2000*2000,如果暴力每個格子放棋子能吃到的value和會超時。
        很明顯,(x,y)的value和就等于它所屬的對角線和+斜對角線和-value(i,j)就行了。
        我們只要預處理出每條對角線和斜對角線的和就行了。
        我們發現(x+y)相同的格子都屬于同個對角線,(x-y)相同的屬于同個斜對角線。我們開兩個數組來記錄就行了,由于x-y會有負數,我們給它們+2000就行了。

        這樣,計算某個格子的value和的時候,直接取(x+y)對角線和及(x-y)斜對角線來做就行了。

        代碼:

        /*
        * Author: illuz 
        * Blog: http://blog.csdn.net/hcbbt
        * File: C.cpp
        * Create Date: 2014-08-30 16:26:14
        * Descripton: 
        */
        
        #include 
        using namespace std;
        #define repf(i,a,b) for(int i=(a);i<=(b);i++)
        
        typedef long long ll;
        
        const int N = 2010;
        
        int n;
        ll v;
        ll x[N*2], y[N*2], mp[N][N];
        pair A, B;
        ll am, bm;
        
        int main() {
        	scanf("%d", &n);
        	A.first = 1;
        	A.second = 2;
        	B.first = 1;
        	B.second = 1;
        	repf (i, 1, n) repf (j, 1, n) {
        	scanf("%lld", &v);
        	x[i + j] += v;
        	y[i - j + N] += v;
        	mp[i][j] = v;
        	}
        	repf (i, 1, n) repf (j, 1, n) {
        	v = x[i + j] + y[i - j + N] - mp[i][j];
        	if ((i + j) % 2) {
        	if (am < v) {
        	am = v;
        	A.first = i;
        	A.second = j;
        	}
        	} else {
        	if (bm < v) {
        	bm = v;
        	B.first = i;
        	B.second = j;
        	}
        	}
        	}
        	cout << am + bm << endl;
        	cout << A.first << ' ' << A.second << ' ';
        	cout << B.first << ' ' << B.second << endl;
        	return 0;
        }
        



        D - Gargari and Permutations【多序列LCS,DAG】

        題意:
        求k個長度為n的序列的最長公共子序列。(2<=k<=5)

        分析:
        不能求前兩個序列的LCS,然后拿結果去跟下面的求。
        因為前兩個序列的LCS是不唯一的。

        我們預處理(i,j),如果對于每個序列都有pos[i] < pos[j],就說明作為LCS的話,i后面可以跟j,然后在i,j間連一條邊。
        這樣就會轉化為一個DAG了,求下最長路就行了。

        代碼:

        /*
        * Author: illuz 
        * Blog: http://blog.csdn.net/hcbbt
        * File: D.cpp
        * Create Date: 2014-08-30 17:06:04
        * Descripton: 
        */
        
        #include 
        using namespace std;
        #define repf(i,a,b) for(int i=(a);i<=(b);i++)
        
        typedef long long ll;
        
        const int N = 1010;
        
        int a[6][N], vis[N];
        int n, k, v;
        int dp[N], mmax;
        vector G[N];
        
        bool check(int x, int y) {
        	repf (i, 0, k - 1) {
        	if (a[i][x] >= a[i][y])
        	return 0;
        	}
        	return 1;
        }
        
        int dfs(int x, int d) {
        	int ret = 0;
        	if (vis[x])
        	return vis[x];
        	int sz = G[x].size();
        	repf (i, 0, sz - 1) {
        	ret = max(ret, dfs(G[x][i], d + 1));
        	}
        	return vis[x] = ret + 1;
        }
        
        int main() {
        	while (cin >> n >> k) {
        	memset(vis, 0, sizeof(vis));
        	repf (i, 0, n)
        	G[i].clear();
        	repf (i, 0, k - 1) {
        	repf (j, 1, n) {
        	cin >> v;
        	a[i][v] = j;
        	}
        	}
        	repf (i, 1, n) {
        	repf (j, 1, n) {
        	if (check(i, j)) {
        	G[i].push_back(j);
        	}
        	}
        	}
        	mmax = 0;
        	repf (i, 1, n) {
        	if (!vis[i])
        	mmax = max(dfs(i, 0), mmax);
        	}
        	cout << mmax << endl;
        	}
        	return 0;
        }
        



        E - Caisa and Tree【暴力,非正解】

        題意:
        給出一棵節點有值的樹,有兩個操作:

        1. 詢問從根節點到某節點的路徑中,深度最深且與該節點gcd>1的節點的標號。
        2. 修改某個節點的值。

        分析:

        完全想不到暴力能輕易過,只能表示數據太弱...
        dfs建樹,記錄下每個節點的父節點。
        查詢時用循環從查詢節點向上找到符合的節點然后輸出就行了。

        數據太弱了,如果樹是一條長鏈,最底端和其他節點的gcd=1,然后每次都查詢最后一個節點,這樣就會超時。
        剛才試了下,貌似Solution里面沒有一個能夠避免TLE,全是暴力。

        坐等官方正解。

        下面是python寫的TLE數據的數據生成器:

        #!/usr/bin/python 
        # by hcbbt 2014-08-30 17:30:33
        #
        
        
        n = 100000
        print n, n
        
        for i in range(n - 1):
         print 2,
        print 3
        
        for i in range(n - 1):
         print i + 1, i + 2
        
        for i in range(n):
         print 1, n
        


        代碼:

        /*
        * Author: illuz 
        * Blog: http://blog.csdn.net/hcbbt
        * File: E.cpp
        * Create Date: 2014-08-30 19:20:17
        * Descripton: brute force, gcd
        */
        
        #include 
        using namespace std;
        #define repf(i,a,b) for(int i=(a);i<=(b);i++)
        
        typedef long long ll;
        
        const int N = 1e5 + 10;
        
        vector mp[N];
        int n, q, v[N], fa[N], x, y;
        
        void dfs(int x, int f) {
        	fa[x] = f;
        	int sz = mp[x].size();
        	repf (i, 0, sz - 1) {
        	if (mp[x][i] != f) {
        	dfs(mp[x][i], x);
        	}
        	}
        }
        
        int main() {
        	scanf("%d%d", &n, &q);
        	repf (i, 1, n) {
        	scanf("%d", &v[i]);
        	}
        	repf (i, 1, n - 1) {
        	scanf("%d%d", &x, &y);
        	mp[x].push_back(y);
        	mp[y].push_back(x);
        	}
        	dfs(1, 0);
        	repf (i, 1, q) {
        	scanf("%d", &x);
        	if (x == 1) {
        	scanf("%d", &y);
        	int i;
        	for (i = fa[y]; i; i = fa[i])
        	if (__gcd(v[i], v[y]) > 1)
        	break;
        	if (!i)
        	printf("-1\n");
        	else
        	printf("%d\n", i);
        	} else {
        	scanf("%d %d", &x, &y);
        	v[x] = y;
        	}
        	}
        	return 0;
        }
        

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CodeforcesRound#264(Div.2)[ABCDE]

        CodeforcesRound#264(Div.2)[ABCDE]:Codeforces Round #264 (Div. 2)[ABCDE] ACM 題目地址:Codeforces Round #264 (Div. 2) 這場只出了兩題TAT,C由于cin給fst了,D想到正解快敲完了卻game over了... 掉rating掉的厲害QvQ... A - Caisa and Sugar 【模擬】
        推薦度:
        標簽: abc abcd round
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲综合无码无在线观看| 91高清免费国产自产拍2021| h视频在线观看免费完整版| 亚洲大尺度无码无码专区| 四虎影视无码永久免费| 国产精品亚洲美女久久久| jizz中国免费| 精品国产综合成人亚洲区| 免费观看一区二区三区| 亚洲AV本道一区二区三区四区| 免费无码又爽又刺激网站| 婷婷亚洲久悠悠色悠在线播放| 精品一区二区三区免费毛片爱| 亚洲欧洲精品视频在线观看| 好男人www免费高清视频在线| 亚洲综合久久精品无码色欲| 国产高清视频在线免费观看| 国产精品久久久久久亚洲影视 | 8x成人永久免费视频| 亚洲视频在线观看视频| 啦啦啦高清视频在线观看免费| 日韩国产精品亚洲а∨天堂免| 亚洲人成色77777在线观看大| 最新国产乱人伦偷精品免费网站| 亚洲视屏在线观看| 少妇高潮太爽了在线观看免费| 久久久久亚洲AV无码去区首| 久久久久亚洲爆乳少妇无| 三年片在线观看免费大全电影| 国产精品亚洲一区二区麻豆| 亚洲AV伊人久久青青草原| 四虎国产精品永久免费网址| 国产精品亚洲精品青青青| 亚洲成av人在片观看| 免费A级毛片无码A∨中文字幕下载| 亚洲人成电影网站久久| 亚洲国产高清精品线久久| 一级毛片免费观看不卡视频 | 免费精品视频在线| 亚洲va在线va天堂va四虎| 无码高潮少妇毛多水多水免费|