![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Codeforces
文章平均质量分 83
提升编程能力
Farmer_D
这个作者很懒,什么都没留下…
展开
-
【Codeforces】 CF1870E Another MEX Problem
转移次数,即只转移有用的区间。考虑证明剩下有用的区间个数是。可用类似最短路的方式实现。是有用的,我们不妨令。存最优位置对应的异或。所以剩余的区间个数是。原创 2023-11-08 22:16:38 · 207 阅读 · 0 评论 -
【Codeforces】 CF840E In a Trap
位和其他的位,然后异或完之后再加起来。上面的式子为什么是对的?的数据范围,可以想到根号数据结构。,所以我们的第一目的是使。最大,在这个基础上,使。查询答案是直接跳即可。原创 2023-11-02 13:39:57 · 96 阅读 · 0 评论 -
【Codeforces】 CF582D Number of Binominal Coefficients
不太好考虑,所以我们考虑从后往前做,然后多记录一维。即可,实现的有些烦,但也不知道可以优化什么了。位的),这一位是否进位,后面。然后就是一个显然的数位。因为进位从前往后数位。原创 2023-10-28 22:15:51 · 331 阅读 · 0 评论 -
【Codeforces】 CF79D Password
看到区间异或,一个经典的套路是做差分,我们即在。的位置的异或值,那么这个问题等价于建出图来从。于是我们可以将问题转化成:有一个序列初始全。然后发现直接状压跑最短路即可,时间复杂度。,其他不变,每次可以同时修改相隔。,求最少将其变成一个状态的步数。处异或一次,然后前缀和起来。:在异或操作中,如果需要把。的做法艹过去了,就懒得改了。这里有一个非常重要的。原创 2023-10-28 22:06:14 · 369 阅读 · 0 评论 -
【Codeforces】 CF1830D Mex Tree
的取值范围,因为我们得到了答案的下界,所以可知。考虑估算答案的下界,一个优秀的方案是黑白染色。那么这时可以得到答案的下界为。然后我们就可以考虑暴力的。原创 2023-10-18 07:43:33 · 144 阅读 · 0 评论 -
【Codeforces】 CF1864H Asterism Stream
考虑对于每次加操作考虑它的贡献,不难发现贡献一定是。考虑一个时间复杂度较劣,但好理解一些的做法。的系数),这个直接转移即可,注意特判。首先根据期望的线性性,把问题转化成。进制的形式,那么就可以进行数位。的限制不优秀,所以把它转化成。的方案数,然后枚举这一位为。都需要计算,所以时间复杂度。那么现在的问题就变成了求。的个数,可以发现概率为。的方案数(同时需要乘上。就可以转移,时间复杂度。的限制,可以添加一项。那么现在就考虑变成数。操作间的加操作的个数。注意到我们需要预处理。,没有其他的实际意义。原创 2023-10-16 21:39:01 · 89 阅读 · 0 评论 -
【Codeforces】 CF1762E Tree Sum
为奇数的情况一定不可能点全部合法,但又要使它合法,只能让子树根的乘积为。种染色方案,即从叶子一层一层往上面染,这样一定可以构造出来解且唯一。(我也要提醒我自己!)是:对于每条边考虑它的贡献,然后类和。接下来考虑一个结论是:偶数个点的树的形态确定之后,只有恰好。为奇数的情况无解,这个可以通过乘积矛盾简单证明。当且仅当这条边对应的两个子树大小都为偶数。考虑一个更强的结论是:一条边的边权为。这样就好算了,对于一条连接大小为。全为偶数的情况用反证法不难证出。个点的树的形态方案数,即为。,然后令上面连向整体的边为。原创 2023-10-10 22:45:46 · 438 阅读 · 0 评论 -
【Codeforces】 CF1685C Bring Balance
所以需要找到第一个和最后一个满足。位置的前缀和会变成什么?首先观察数据可以发现答案。那么首先可以找到最小的。那么一个合法的操作区间。最大,所以这个值一定。所以我们的目标是找到。,直接判断是否合法即可。原创 2023-10-07 16:18:57 · 84 阅读 · 0 评论 -
【Codeforces】 CF917D Stranger Trees
可以发现保留的边数和连通块个数是可以对应的,所以接下来只对连通块考虑。,且每个点都有编号,则把它们构成生成树的方案数为。的组合意义,即在每个连通块中选出一个点的方案数。我们发现直接把上面的式子进行。所在连通块是否选过点的方案数。的时间复杂度分析,可以做到。转移比较好转移,根据背包。一个显然的转化是:恰好。这一部分的时间复杂度是。这里有一个结论是:如果。个连通块的大小分别是。,然后进行二项式反演。原创 2023-09-30 10:52:00 · 150 阅读 · 0 评论 -
【Codeforces】 CF587F Duff is Mad
看到字符串出现次数的题,首先想到建立。但是空间有些开不下,所以可以调小块长。我们需要计算一个前缀中的字符串在。很好的一道题,让我对根号分治及。树上一直往上跳,然后再。对应点的子树内,然后累加。考虑糅合两个做法:根号分治。现在可以得到 2 种暴力。自动机有了更深的理解。的字符串,用做法 1。的字符串,用做法 2。原创 2023-09-17 16:56:08 · 91 阅读 · 0 评论 -
【Codeforces】 CF914F Substrings in a String
考虑从前往后遍历查询字符串,然后只要把之前匹配的结果往后移一位,然后。又学会了一种字符串匹配 + 骗分技巧!考虑询问的字符串的总长度只有。当前字符的出现位置即可。有些边界情况需要特判。原创 2023-09-17 12:00:19 · 78 阅读 · 0 评论 -
【Codeforces】CF193D Two Segments
这道题的一个启发是:添加一个数,可以快速维护出以这个数为右端点的所有区间对应在一个数列上的连通段的个数。肯定需要枚举一个端点,另一个快速算出,考虑枚举值域区间右端点。可以发现,新增一个数对应在排列上的区间有 3 种不同的情况。这三种操作对应的值域区间范围不难得出,然后线段树维护即可。考虑在值域上的问题:有多少段区间,对应在排列上不超过。原创 2023-09-03 14:55:19 · 177 阅读 · 0 评论 -
【Codforces】 CF438E The Child and Binary Tree
的 0 次项系数不为 0,所以可以求逆,然后只要用多项式求逆和多项式开根求解即可。,且右边的第 0 项的系数一定不为 0,所以舍去。考虑到这是一个卷积的形式,所以。考虑到开根有正负,所以分类讨论。原创 2023-08-23 17:23:21 · 111 阅读 · 0 评论 -
【Codforces】 CF1303G Sum of Prefix Sums
考虑到这是一个一次函数的形式,所以想到李超树维护。这里清空李超树不能全部遍历一遍,需要把用过的清空。的路径的信息,问题是如何找到最大的。注意到整体修改李超树的时间复杂度是。,但那个不好写,就改写点分治了。树上的静态问题,考虑点分治。考虑这条路径的答案为。原创 2023-08-20 16:07:20 · 88 阅读 · 0 评论 -
【Codeforces】 CF1285F Classical?
放入栈中维护,栈顶小,栈底大,如果栈中仍有与。的情况做一遍上述操作即可,时间复杂度。的约数都放入集合中,只需要对于。互质的数的个数,这个用莫反可以。考虑把之前枚举的数的倍数。互质的数,那么就弹出栈头。原创 2023-08-19 13:51:21 · 92 阅读 · 0 评论 -
【Codeforces】 CF1734E Rectangular Congruence
考虑对行或列整体添加一个数仍是合法的,考虑调整行即可。所以这是一组合法的解。原创 2023-08-11 21:11:16 · 169 阅读 · 0 评论 -
【Codeforces】 CF468C Hack it!
【代码】【Codeforces】 CF468C Hack it!原创 2023-08-06 16:54:29 · 144 阅读 · 0 评论 -
【Codeforces】 CF1436F Sum Over Subsets
的值域很大,考虑对每个数值共同考虑。的倍数的所有数的可重集为。实际复杂度为调和级数。原创 2023-08-04 14:16:17 · 85 阅读 · 0 评论 -
【Codeforces】 CF840D Destiny
因为若未出现在其中,那么出现次数最多为。的数,这个可以用主席树做,然后判断即可。个数中必定有包含了所有合法的数。个左右,所以考虑找到每一个。从小到大排序,那么第。原创 2023-07-21 22:21:01 · 74 阅读 · 0 评论 -
【Codeforces】 CF1768F Wonderful Jump
不好斜率优化,且难以用线段树维护。,所以一个很长的区间有很大可能。很小,所以考虑在值域上做文章。,一个一个跳的权值最大为。首先可以得到一个显然的。原创 2023-07-19 14:44:25 · 218 阅读 · 0 评论 -
【Codeforces】 CF446C DZY Loves Fibonacci Numbers
首先如果多次加斐波那契数可以合并成一个。的话,那么这就是一个普通的线段树题。都是常数,所以只要打两个。考虑合并斐波那契数的。仅和当前点的位置有关。原创 2023-07-18 11:00:52 · 75 阅读 · 0 评论 -
【Codeforces】 CF512D Fox And Travelling
其中不可能选择的点不一定只有环上的点,也可能是类如连了多个不同的环的点。个点于环上的点相邻?因为这几个点之间的路径就永远不可能被删。首先可以用一个类似拓扑排序的方法(把度数为。可以发现,对于可以被选择的点一定构成了多棵树。就加入)把所有可能被选择的点找出来。原创 2023-07-12 09:11:28 · 64 阅读 · 0 评论 -
【Codeforces】 CF1515E Phoenix and Computers
考虑开电脑的过程相当于连通块的操作,可以不考虑每个点的真实位置,只考虑每个点在当前几个点中的相对位置。有一个特殊的做法(可以包含 添加新的连通块,在连通块中添加新的元素,合并。个连通块的方案数,其中每个点之间有序。原创 2023-06-10 10:42:09 · 76 阅读 · 0 评论 -
【Codeforces】 CF803G Periodic RMQ Problem
无原创 2023-03-05 15:42:03 · 76 阅读 · 0 评论 -
【Codeforces】 CF1359E Modular Stability
我们发现这道题给出的性质比较特殊,所以考虑一些性质。所以可以得到,一个数列合法,当且仅当所有数都是。个数时,可以发现要使每个排列的结果都为。后面的数无需考虑,前面的数都必须是。加上预处理,时间复杂度。原创 2023-05-13 22:35:24 · 44 阅读 · 0 评论 -
【Codeforces】CF932F Escape Through Leaf
可以发现转移式子是一个一次函数的形式,可以想到用李超线段树维护。为自变量,每条一次函数的范围是无限的。即先合并儿子,在计算答案,在加入当前点。数组为正数,在计算函数值时在减回来。发现上述做法可以用线段树合并来替代。这是可以用李超线段树维护的。可能为负数,所以需要把。式子是很容易列的,即。原创 2023-05-21 21:48:47 · 79 阅读 · 0 评论 -
【Codeforces】 CF992E. Nastya and King-Shamans
无原创 2023-01-18 22:07:53 · 86 阅读 · 0 评论 -
【Codeforces】CF280C. Game on Tree
无原创 2023-01-15 13:52:23 · 84 阅读 · 0 评论 -
【Codeforces】 CF1149C. Tree Generator™
无原创 2023-01-18 15:30:54 · 155 阅读 · 0 评论 -
【Codeforces】 Codeforces Round #843 (Div. 2)
无原创 2023-01-13 13:32:37 · 264 阅读 · 0 评论