
Codeforces
linbinwu123
peaceful life is enough
展开
-
CF592D Super M 树形换根dp
CF592D Super M题意无根树上给定mmm个点,现在可以以树上任意一个点作为起点,求使得经过所有给定点的路径长度之和最小的起点和路径长度之和题解我发现大部分人都是用什么虚树或者树的直径那些来搞的,其实没有必要,考虑换根树形dp考虑如何计算确定根时的答案:现在以rtrtrt为根,需要依次经过所有给定点(标记一下,记为tag[u]=1tag[u]=1tag[u]=1)先考虑经过所有点并且回到rtrtrt的情况对于点uuu来说,如果tag[u]=1tag[u]=1tag[u]=1,那么rt原创 2020-08-22 23:36:02 · 216 阅读 · 0 评论 -
CF1326E Bombs 思维+线段树
CF1326E Bombs题意NNN个数的全排列ppp,现在将NNN个数依次加入集合AAA,如果这个位置iii上有炸弹,那么在加入这个数pip_ipi后删除集合AAA中最大的数,当所有数加入集合后,集合中最大的数为当次花费现在给出NNN个数qiq_iqi,对于每一个iii,求第q1,q2,...,qi−1q_1,q_2,...,q_{i-1}q1,q2,...,qi−1个位置上是炸...原创 2020-03-22 22:55:57 · 397 阅读 · 0 评论 -
CF1290C Prefix Enlightenment 种类并查集
CF1290C Prefix Enlightenment题意给一串长度为NNN的010101串SSS,以及KKK个集合AiA_iAi,每个集合有cic_ici个元素,每个元素x∈[1,N]x∈[1, N]x∈[1,N]题目保证任意三个集合Ai∩Aj∩Ak=∅A_i ∩A_j ∩ A_k = ∅Ai∩Aj∩Ak=∅,你可以选择一个集合,然后令SSS中集合AiA_iAi元素下标的01...原创 2020-03-21 00:28:01 · 298 阅读 · 0 评论 -
CF1296F - Berland Beauty 树链剖分
CF1296F - Berland Beauty题意NNN个点N−1N-1N−1条边的树,现在有MMM个条件:点uuu到点vvv的路径上权值最小的边为www问你能不能构造出这样的边权满足所有条件,如果能输出每条边的边权,不能输出−1-1−1题解处理uuu到vvv的所有路径,这里用树剖即可然后想到一条边有多个可能的权值,我们只能取最大的可能权值,因为取小了会使其他条件不符所以将条件按w...原创 2020-03-16 13:38:18 · 238 阅读 · 0 评论 -
CF1324F - Maximum White Subtree 树形DP换根
CF1324F - Maximum White Subtree题意NNN个点N−1N-1N−1条边的树,每个点有对应的颜色cic_ici,ci=1c_i=1ci=1为白色whitewhitewhite,ci=0c_i=0ci=0为黑色blackblackblack对于一个点iii,求包含点iii的子树中最大的cntw−cntbcnt_w-cnt_bcntw−cntb求出所有点的结...原创 2020-03-15 18:55:05 · 447 阅读 · 0 评论 -
CF1322C - Instant Noodles 思维
CF1322C - Instant Noodles题意给一个2N2N2N个点的二分图,左右两遍各NNN个点,现在给出右边每个点的权值viv_ivi,以及MMM条连接左右两边的边。左边选取一个非空集合SSS,与之有边相连的右边的点N(S)N(S)N(S)权值求和为f(S)f(S)f(S),现在求所有可能的f(S)f(S)f(S)的gcdgcdgcd值题解记gcd=gcd(a,b)gcd=g...原创 2020-03-15 18:14:19 · 619 阅读 · 0 评论 -
CF1322B - Present 思维
CF1322B - Present题意NNN个数a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,现在求(a1+a2)⊕(a1+a3)⊕⋅⋅⋅⊕(an−1+an)(a_1+a_2)⊕(a_1+a_3)⊕···⊕(a_{n-1}+a_n)(a1+a2)⊕(a1+a3)⊕⋅⋅⋅⊕(an−1+an),N≤400000N\leq400000N≤40000...原创 2020-03-14 22:35:52 · 292 阅读 · 0 评论 -
CF1303E - Erase Subsequences DP
CF1303E - Erase Subsequences题意两个字符串sss和ttt,问是否存在sss的两个没有交集的子串拼接成ttt串,即t=t1+t2t=t1+t2t=t1+t2,t1,t2t1,t2t1,t2可以是空串1≤∣t∣≤∣s∣≤4001\leq |t| \leq |s|\leq4001≤∣t∣≤∣s∣≤400题解看字符串长度,应该是O(N3)O(N^3)O(N3)最直接...原创 2020-03-13 23:15:59 · 177 阅读 · 0 评论 -
CF1304F1 - Animal Observation DP
CF1304F1 - Animal Observation(easy version)题意NNN天,MMM块区域,aija_{ij}aij为第iii天第jjj块区域的权值,每一天可以覆盖当前天和下一天的长度为KKK的区域,求最大权值和N≤50,M≤20000,K≤min(M,20)N \leq 50,M\leq20000,K\leq min(M,20)N≤50,M≤20000,K≤min(...原创 2020-03-12 19:39:33 · 177 阅读 · 0 评论 -
CF1307E - Cow and Treats 思维
CF1307E - Cow and Treats题意NNN颗草,每颗草有甜度sis_isi,MMM头牛,每头牛有最喜欢的甜度fif_ifi和饥饿度hih_ihi将牛分出不相交的两个子集,一个在草的左边,一个在草的右边两遍的牛轮流去吃草(左边的牛从左往右吃,右边的从右往左吃),每头牛只会吃最喜欢的甜度fif_ifi的草,直到吃了hih_ihi份的草,牛吃了的草不会再长出来此时牛会...原创 2020-03-08 23:13:56 · 335 阅读 · 0 评论 -
CF1310D - Tourism 随机+DP
CF1310D - Tourism题意NNN个点的图,给你图的邻接矩阵ggg,求从点111出发经过KKK条边途径偶数个城市回到点111的最短距离2≤N≤80,2≤K≤102\leq N \leq 80, 2\leq K \leq 102≤N≤80,2≤K≤10题解路径是一个环,并且是一个偶数环二分图的充要条件就是不存在奇数环所以我们可以把图染色成一个二分图,在二分图上跑dp就行但是...原创 2020-03-08 19:13:33 · 320 阅读 · 0 评论 -
CF1311E - Construct the Binary Tree 构造
CF1311E - Construct the Binary Tree题意构造NNN个点,所有点深度之和为DDD的二叉树题解考虑以下两种情况①NNN个点深度之和最小这种就是每一层都是满的,这个等等算②NNN个点深度之和最大链状,NNN个点组成直线,深度之和为N∗(N−1)/2N*(N-1)/2N∗(N−1)/2那么我们现在要构造一颗深度之和为DDD的二叉树那么这个深度min≤D...原创 2020-03-07 20:35:27 · 358 阅读 · 0 评论 -
CF1311F - Moving Points 树状数组
1311F - Moving Points题意NNN个点,全部都在XXX轴上,每一个点有给出起始点xix_ixi和速度viv_ivi,如果现在过去时间为ttt,那么这个点就在xi+tvix_i+tv_ixi+tvi,这里时间是无穷无尽的现在有d(i,j)d(i,j)d(i,j)表示点iii和点jjj在所有时间内最小的距离求所有点对的d(i,j)d(i,j)d(i,j)之和,即∑1≤...原创 2020-03-07 20:12:50 · 238 阅读 · 0 评论 -
CF1316D - Nash Matrix 构造
CF1316D - Nash Matrix题意N∗NN*NN∗N的矩阵中,有L,R,D,U,XL,R,D,U,XL,R,D,U,X四种格子,分别代表,左移、右移、下移、上移、障碍点对于任意一个出发点(i,j)(i,j)(i,j),会沿着格子的指示来移动,直到碰到障碍点每一个点(i,j)(i,j)(i,j)出发都会有对应的终点(x,y)(x,y)(x,y),如果是无线循环(一直走不会停),那...原创 2020-03-07 19:26:06 · 264 阅读 · 0 评论 -
CF1320C - World of Darkraft: Battle for Azathoth 思维+线段树
CF1320C - World of Darkraft: Battle for Azathoth题意NNN个武器,MMM个防具,KKK个怪兽每一个武器都有对应的攻击力aia_iai,还有购买它的金币数caica_icai每一个防具都有对应的防御力bib_ibi,还有购买它的金币数cbicb_icbi每一个怪兽都有对应的攻击力xix_ixi,防御力yiy_iyi,打败他获得的金...原创 2020-03-05 22:17:18 · 424 阅读 · 0 评论 -
CF1316E - Team Building 状态压缩+DP
CF1316E - Team Building题意NNN个人,一个队伍中有KKK个位置,aia_iai为第iii人作为观众的权值si,js_{i,j}si,j为第iii人作为担任队伍的第jjj个位置的权值现在选出PPP个队员和KKK个观众,使得权值之和最大(2≤N≤105,1≤P≤7,1≤K,P+K≤N)(2≤N≤10^5,1≤P≤7,1≤K,P+K≤N)(2≤N≤105,1≤P≤...原创 2020-03-05 21:32:06 · 192 阅读 · 0 评论 -
CF208E - Blood Cousins 树上启发式合并
CF208E - Blood Cousins树上启发式合并学习笔记题意NNN个点的森林,MMM次询问,每次求viv_ivi有多少个点有pip_ipi级公共祖先分析转化题意:找到询问点vvv的kkk级祖先uuu,然后找到uuu的子树下面与点uuu深度差为kkk的点有多少那么维护的子树信息就是,cnt[i]cnt[i]cnt[i]为深度为iii的节点个数然后我们查询问答案就是cnt[...原创 2020-03-01 15:06:02 · 260 阅读 · 0 评论 -
CF570D - Tree Requests 树上启发式合并
CF570D - Tree Requests题意NNN个点以111为根的树,每个节点都有对应的字母s[i]s[i]s[i],MMM次查询,每次判断以uiu_iui为根的子树中,深度为hih_ihi的节点能否组成一个回文串(字母顺序可以任意改变),如果能输出Yes,否则输出No分析树上启发式合并入门题,查询的子树信息就是对应高度都有什么字母因为这里节点的顺序能够改变,所以构成回文串只需...原创 2020-03-01 13:23:39 · 340 阅读 · 0 评论 -
Educational Codeforces Round 74 (Div. 2)
A. Prime Subtraction题解:所有素数都可以用2和3相加得到,所以这里只有在差值为1的时候不行代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)...原创 2019-10-09 20:04:53 · 253 阅读 · 0 评论 -
Codeforces Round #590 (Div. 3)
A. Equalize Prices Again代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;int T, N;int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> T; ...原创 2019-10-02 22:34:05 · 167 阅读 · 0 评论 -
Codeforces Round #558 (Div. 2) B2. Cat Party (Hard Edition)
题目链接: http://codeforces.com/contest/1163/problem/B2题意: 给你N个数,现求满足给定的前i个数中,选择去掉其中的一个,能使得剩余的数字出现的次数都相同的最大i。比如给你3 2 1 1 4 5 1七个数,那么假如i = 4,那就是3 2 1 1四个数,我可以去掉一个1,那么3、2、1三个数字出现的次数就都是1次了。题解: 如果是前面的easy e...原创 2019-05-11 13:45:04 · 199 阅读 · 0 评论 -
Codeforces Round #588 (Div. 2)
A - Dawid and Bags of CandiesB - Ania and MinimizingC - Anadi and DominoD - Marcin and Training CampE - Kamil and Making a Stream原创 2019-09-24 23:11:04 · 217 阅读 · 0 评论