
CodeForce
Rayment_cc
++Rp
展开
-
Codeforces 940F Machine Learning
ProblemCF可能不稳定,就写一下题意吧。给定一个长度为n的序列,有m个操作。 对于1 l r,表示询问区间[l,r]内所有数的出现次数的mex值。 对于2 l x,表示修改a[l]=x。 n,m<=100000;a[i],x<=1000000000; Notes:在区间内必定会有数字不出现,即出现次数为0,所以mex不可能为0。Solution先讲讲带...原创 2018-04-11 21:01:49 · 271 阅读 · 0 评论 -
Codeforces809E Surprise me!
ProblemCodeforces有一棵树,第 iii 个点的点权为 aia_iai,保证 aia_iai 是一个排列,求1n(n−1)∑i=1n∑j=1nφ(ai∗aj)∗dis(i,j)\frac 1 {n(n-1)}\sum_{i=1}^n\sum_{j=1}^n\varphi(a_i*a_j)*dis(i,j)n(n−1)1i=1∑nj=1∑nφ(ai∗aj)∗dis(...原创 2019-03-30 07:46:05 · 270 阅读 · 0 评论 -
Codefoces802O April Fools' Problem (hard)
ProblemCodeforcesSolution这鬼题为什么一脸可以DP的样子?可怜我D了半天都没列出方程队长:这不是显然费用流吗?惨遭嘲讽队长:我就看了一会从费用流模型入手,那么就是就是把A点,向每一个后面的B点连边,这样边是O(n2)O(n^2)O(n2)级别的。然而其实可以优化这些边,把每个B点都向后连INF,费用为0的边即可。边数变为了O(n)O(n)O(n)的。然后费...原创 2019-02-23 17:09:53 · 489 阅读 · 1 评论 -
Codeforces 526F Pudding Monsters
ProblemCodeforcesSolution发现有些题目把情况分类讨论就可以使题目好处理很多。注意到每行每列都只有一个怪物,那么我们可以将其转化到一维的情况,则可以得到一个排列,那么问题就变为了,统计有多少个子区间[L,R][L,R][L,R]满足mx−mn=R−Lmx-mn=R-Lmx−mn=R−L。好像很不好处理…考虑跨越中点的区间,分类讨论一下mxmxmx和mnmnmn的分布...原创 2019-01-02 08:05:41 · 530 阅读 · 0 评论 -
Codeforces452F Permutation
ProblemCodeforces给你一个长度为n(n≤3∗105)n(n\leq 3*10^5)n(n≤3∗105)的排列,问你存不存在i<j<ki<j<ki<j<k使得aj−ai=ak−aia_j-a_i=a_k-a_iaj−ai=ak−ai。Solution一道很有意思的题目。。我做的时候思路从fft到线段树...原创 2018-11-02 10:57:18 · 473 阅读 · 0 评论 -
Codeforces1012B Chemical table
ProblemCodeforcesSolution比较有意思的一道题目,考虑怎么把生成药品的条件转化,所以其实考的是构造。。如果我们把行和列都拆成点,那么这个表格(r,c)(r,c)(r,c)上的药品就可以看做是表示rrr行的点和表示ccc列的点连了一条边。这个时候我们再来考虑一下生成一个药品的条件,如果存在(r1,c1),(r1,c2),(r2,c1)(r_1,c_1),(r_1,c_2...原创 2018-11-01 20:22:09 · 297 阅读 · 0 评论 -
Codeforces958C3 Encryption (hard)
ProblemCodeforcesSolution是一道很有意思的题目。首先你可以写出一个最暴力的方程,设f[i][j]f[i][j]f[i][j]表示前j个位置分i段的最小代价f[i][j]=min(f[i−1][k]+(sum[j]−sum[k]) mod p)f[i][j]=\min (f[i-1][k]+(...原创 2018-10-22 18:37:54 · 401 阅读 · 0 评论 -
Codeforces413E Maze 2D加强版
ProblemCodeforcesn≤5,m≤2×105,q≤5×104n\leq 5,m\leq 2\times10^5,q\leq 5\times 10^4n≤5,m≤2×105,q≤5×104要求支持修改某个格子的可走状态。Solution感觉想法很新奇的一道题,但是后来boshi告诉我这是动态dp的套路题……所以就当是动态dp入门题了吧我们用一个n2n^2n2的矩阵来代表一个区...原创 2018-10-10 17:33:54 · 282 阅读 · 1 评论 -
Codeforces 939F Cutlet
ProblemCodeForces大意就是一个长度为2n的01序列,给定k个不相交的区间,在区间内的元素允许与前一个元素不同,代价为1,要求使得01序列中0和1恰好是n个,问最小的代价。Solution可以设出这样的一个dp,f[i][j]表示到第i段结束,当前没烤的这面烤j分钟的最小翻面次数。如果你觉得这个状态不那么方便你也可以加一维0/1咯。有这么一个性质,在一段区间内只有不翻/翻1...原创 2018-10-02 18:08:22 · 337 阅读 · 0 评论 -
Codeforces 835F Roads in the Kingdom
ProblemCodeforces给你一棵基环树,定义直径为所有点对最短距离的最大值。要求你在环上删一条边,最小化剩余树的直径。保证没有二元环。Solution先吐槽:基环树,仙人掌什么的都是用来恶心人的。还有这题网上代码长得怎么都一样??先把环拆出来,考虑枚举环上删的边edge(ci,ci+1)edge(c_{i},c_{i+1})edge(ci,ci+1)那么分三种情况1...原创 2018-09-18 14:47:34 · 417 阅读 · 0 评论 -
Codeforces 700E Cool Slogans
ProblemCodeforcesSolution先建出后缀自动机,然后我们可以按照right集合来dp。这个right集合可以用动态开点的线段树+线段树合并乱搞。然后dp部404 NOT FOUND注意一下pos的转移,hhh我调这个调了40minCode#include <cstring>#include <cstdio>using ...原创 2018-06-26 17:36:31 · 489 阅读 · 0 评论 -
Codeforces613D Kingdom and its Cities
ProblemCodeforcesSolution套路虚树搞一下,然后我们考虑树形dp。 我们不妨设f[x]表示任意一个关键点都无法到达子树根的最小花费,g[x]表示允许有一个关键点到达子树根的最小花费。我们需要分情况进行讨论。对于关键点,无法满足f[x]的情况,我们设成INF。而为了满足g[x],那么任意一个子树都无法到达其根,也不需要再砍断,即: f[x]=INFf[x...原创 2018-06-11 21:44:10 · 373 阅读 · 0 评论 -
Codeforces 724G Xor-matic Number of the Graph
ProblemCodeforcesSolution这道题目思路会比较像wc2011的xor,可能会更难一点,是一道线性基的好题首先可以用一个O(n)的dfs处理出所有的环的异或和,我们只需记录一个异或和即可。更形象地说,dfs就相当于搜成一棵树,开始的节点就是根节点,一旦碰到已经在树上的点,由于异或的性质,dis[x] xor w xor dis[y]就相当于这个环的异或和,当然了...原创 2018-05-26 22:05:33 · 244 阅读 · 0 评论 -
Codeforces526G Spiders Evil Plan
ProblemCodeforcesSolution我们可以先考虑怎么解决单组询问。可以把 xxx 提做根,然后每次贪心选贡献最大的叶子即可。注意到叶子被选作的贡献是可以确定的,因为选叶子的顺序是固定的,而这个恰好对应这这棵树的长链剖分,选某个叶子的贡献就是它的长链的长度。那么我们就得到了一个优秀的 O(n2logn+m)O(n^2\log n+m)O(n2logn+m) 算法啦!这个算法...原创 2019-03-26 17:19:05 · 453 阅读 · 3 评论