![](https://img-blog.csdnimg.cn/20200207100656901.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Codeforces之旅
收录自己不会的题
0iq2333
欢迎访问我的个人主页:0iq2333.github.io
展开
-
Codeforces Round #401 (Div. 2) D. Cloud of Hashtags(字符串 + 逆向思维)
D. Cloud of Hashtags题意:给你n个字符串,不能改变顺序,每个字符串可以选择从结尾删除连续的一段,使这n个字符串满足字典序从小到大的顺序。要求:删除的字符串尽量少。题解:最重要的一点:我们删除一个字符串的末尾,它一定比原来的字符串小。我们正向删除的话,我们的前一操作会对后面的操作产生影响。我们不放逆向思考。前一个字符串比后一个字符串大,我们将其一个个比较,并进行删除操作。ACcode:/* * @Author: NEFU_马家沟老三 * @LastEditTime:原创 2020-09-30 21:17:40 · 142 阅读 · 0 评论 -
Codeforces Round #401 (Div. 2) E. Hanoi Factory(贪心 + 单调栈)
E. Hanoi Factory题意:给你nnn个汉诺塔,每个汉诺塔有三个数aaa,bbb,hhh,分别代表内径,外径,和高。现在让你将这nnn个汉诺塔根据以下规则叠加起来,使其的总高最高。规则:已经放好的汉诺塔的外径bbb要符合非递增,如bi>bjbi > bjbi>bj,这样jjj才有可能叠加到i上。ai<bjai < bjai<bj,同时满足1,2规则才能将jjj叠放到iii上。题解:贪心 + 单调栈我们将单调栈看着做已经叠加好的汉诺塔。我们原创 2020-09-30 20:57:35 · 188 阅读 · 0 评论 -
Codeforces Round #668 (Div. 2)D. Tree Tag(树形DP树的直径 + 博弈论)
D. Tree Tag一、题目大意给你一棵有n个节点的无向树,两个人Alice和Bob一开始分别在a,b两个节点,Alice一次最多移动da个位置,Bob一次最多移动db个位置。当Alice在某次回合中移动到Bob的位置时,就算Alice获胜,相反Bob获胜。现在Alice先手,问你谁能获胜。二、题解当dis(a,b)<=dadis(a,b) <= dadis(a,b)<=da时,Alice在第一回合就能移动到Bob所在的位置。Alice获胜。当树的直径<=2∗da树的直原创 2020-09-07 11:18:06 · 1743 阅读 · 2 评论 -
Codeforces Round #661 (Div. 3)E1. Weights Division (easy version)题解(dfs树遍历+贪心))
小叙:图论一直是我的弱项,在这几场的cf中没到图论就被卡住,本博主一直在补图论方面的知识,希望下场cf能AC一道图论题。## E1. Weights Division (easy version)题意:给你一棵顶点为1,点数为n的树,每条边都有一个权值www。我们有一种操作,使得一条边的www变成w/2w/2w/2向下取整。现在给你一个值SSS使得,从顶点1到每个叶子节点路径之和<=S<=S<=S。问最少要操作几次才能符合题目要求。题解:这个数的权值总和===每条边的原创 2020-08-06 18:14:16 · 215 阅读 · 0 评论 -
Codeforces Round #660 (Div. 2)A~D
总结一下:菜是原罪。菜哭。A. Captain Flint and Crew Recruitment题意:给你个n,让你把他拆分成4个数。其中至少三个数是伪素数。伪素数的定义是:两个素数的乘积。如:6 = 2 × 3,10 = 2 × 5。坑点:这四个数互不相等。题解:我们从小到大写几个伪素数:6、10、14、15、21…最小为6+10+14 + 1 = 31。所以n < 31,无解。n >= 31 时,这时候要特判,36、40、44,n-30=6 or 10 or 14时,这时原创 2020-07-31 16:23:46 · 227 阅读 · 0 评论 -
Codeforces Round #631 (Div. 2)未完待续......
Codeforces #631 Div.2原创 2020-04-05 21:32:48 · 215 阅读 · 0 评论 -
Educational Codeforces Round 84 (Rated for Div. 2)
A. Sum of Odd Integers题目大意: 给你一个数n,要求分为k个奇数(每个都不相同),可以的话就yes,否则就是no。题解: 我们从k=num来说,最小的奇数和为odd_sum=num*num。条件1:然而n必须大于等于odd_sum。两个奇数之和为偶数。当k为奇数,k个奇数和为奇数,所以n为奇数。当k为偶数时,k个奇数的和为偶数,所以n为偶数。条件2:n与k的奇...原创 2020-03-26 18:19:55 · 147 阅读 · 0 评论 -
Codeforces Round #621 (Div. 1 + Div. 2)
A. Cow and Haybales题目大意: 给你n个数,你可以使得将相邻的数转移1,即一个加1,一个减1,你可以转移d次,问a1最大是多少。核心思路贪心+模拟:从第 i 个位置转移到 1 的位置需要( i - 1 ) 步,优先从离 1 位置近的转移。AC代码:#include <bits/stdc++.h>using namespace std;typedef lon...原创 2020-02-18 17:50:06 · 198 阅读 · 0 评论 -
Codeforces Round #619 (Div. 2)
A. Three Strings思维题题目大意:给你三个长度相等的字符串s1,s2,s3,现在要求你的每一位进行如下操作: i - s1用 i - s3 替换 或 i - s2 用 i - s3 替换。问进行完操作后能否使s1=s2;解题思想: 如果能进行操作的话,每一位必有 i - s1 = i - s3 或 i - s2 = i - s3;因为,存在i - s1 = i - s3 或 ...原创 2020-02-17 15:16:24 · 2175 阅读 · 0 评论 -
Educational Codeforces Round 82 (Rated for Div. 2)
codeforces div2级别原创 2020-02-13 18:44:32 · 182 阅读 · 0 评论 -
#617Div.3
C:Yet Another Walking Robotmap的应用大意: 一个机器人(0,0)点可以进行上(U,y+1)、下(D,y-1)、左(L,x+1)、右(R,x-1)的操作,给你系列操作符(UDLR)让你简化(删除)他的操作指令,达到的终点都是同一位置。只能简化一个区间的。如果不能删除,输出-1,否则输出删除的左端点l和右端点r,使r-l+1应该尽可能小,若有多个相同的答案,输出一个就...原创 2020-02-05 10:31:55 · 185 阅读 · 0 评论