随笔分类 - Codeforces
摘要:Team Rocket Rises Again 直接求支配树就好啦。
阅读全文
摘要:Yash And Trees 用bitset维护每个节点拥有哪些数。
阅读全文
摘要:The Number of Subpermutations 想了想感觉可行解不多, 然后就暴力莽就完事了(FST我就删了这个博客 逃
阅读全文
摘要:Minimal Segment Cover 嗯嗯嗯。。 打倍增的时候两个for写反了查了半天bug。。。 我们先把没用的线段去掉, 然后对每个线段都找到和它接触的r最大的作为下一个, 然后打倍增就好了。
阅读全文
摘要:Ultimate Weirdness of an Array 写不出来, 日常好菜啊。。 考虑枚举GCD, 算出一共有多少个对 f(l, r) <= GCD, 我们用fuc[ i ] 表示的是在 l = i 这个位置开始, 最小的合法的 R, 可以发现这个函数随 i 单调不下降, 枚举GCD 的时候
阅读全文
摘要:Jeff and Removing Periods 题目转换一下就变成询问区间里面有多少个不同数字, 和区间里面有没有等差数列的相同数字。 离线之后可能分别用树状数组和线段树维护, 线段树维护数字等差数列能延续到的最右端。
阅读全文
摘要:Ehab and the Expected GCD Problem 首先我们能推出最优的开始一定是2 ^ n 或者 3 * 2 ^ n 的形式, 对于每一种形式我们将所有数字分类, 从后往前用组合数算出答案。
阅读全文
摘要:Legen... 我们能很容易写出在AC自动机上的dp, dp[ k ][ i ][ j ]表示走了 k 步从 i 走到 j 的最大值。 k 很大我们考虑矩阵优化, 直接搞就好啦。 不知道为什么在本机上M * M * M * M **** * M 打多了就会卡死不知道为什么。。。
阅读全文
摘要:Best Edge Weight 我们先找出一棵最小生成树, 对于非树边来说, 答案就是两点路径上的最大值 - 1, 这个直接倍增就能处理。 对于树边来说, 就是非树边的路径经过这条边的最小值 - 1, 这个可以用并查集压缩路径 或者 更压st表一样的方式更新。 感觉就是没想到先扣出来一个最小生成树
阅读全文
摘要:Ann and Half-Palindrome 我居然写了个后缀排序。。 其实暴力把所有合法串丢进字典树里面就行了。
阅读全文
摘要:Erasing Substrings 感觉这种写法想不到啊。。。 dp[ i ][ j ] 表示选了 i 个, 删了的情况为 j 是否为字典序最小的串。 因为如果dp[ i ][ j ] 的字典序比 dp[ i ][ k ]的字典序小, dp[ i ][ k ] 就没有用了。 还需要sos dp 去
阅读全文
摘要:Crisp String 显然我们只要知道每个状态合不合法我们就能解决这个问题。 两两枚举相邻的字符, 去找不合法状态。
阅读全文
摘要:Bear and Destroying Subtrees 我们先考虑没有修改的到从根开始的最长期望深度。 dp[ i ][ j ] 表示 i 这棵子树所有的边有一半概率存在的情况下, 最长深度为 j 的概率。 我们只用考虑50层就够了, 因为概率随长度比边长成指数级减少。 这样的话,处理出一个 dp
阅读全文
摘要:Dreamoon and Binary 先预处理出从i 开始 和 从 j 开始的lcp, 然后直接dp
阅读全文
摘要:Igor and Interesting Numbers 枚举每一位, 用dp去算方案数。
阅读全文
摘要:Beautiful Matrix 首先枚举哪一位分出大小, 然后计算比它小的方案数有多少种。 方案数 = 当前行的方案数 * 下面所有行的方案数。 如果下面还有x行, 那么下面所有行的方案数为 g ^ x, g 为全错排的方案数, 当前行的要预处理出f[ i ][ j ] f[ i ][ j ] 表
阅读全文
摘要:Functions On The Segments 考虑处理出所有x <= 2e5的答案。 用主席树去维护, 每个 x 的值, 因为是单点询问所以可以差分, 不用打标记。 一个PLL 打成了 PII, 找了半天bug。
阅读全文
摘要:Almost Increasing Array 来讲讲自己想到的和没想到的。。 首先要把严格递增变成非严格递增每个元素只要减去所处位置的下标。 然后我们考虑枚举被删除的点, 被删点前面的每个元素减去 i , 被删的每个点后面的元素减去 (i - 1) 然后求LIS, 在所有的LIS里面的最大值, 这
阅读全文
摘要:Game with Tokens 感觉是很好的一道题了。 感觉没有想到两点, 第一个是只想到白点肯定往, 一个方向跑, 所以四个方向肯定有人要拦着它, 所以两个对角线分成四个区域, 白点的四个区域内都得有点(不包括对角线), 没有想到横纵坐标的 奇偶性也要相同才能拦住, 虽然想到了转切比雪夫距离,
阅读全文
摘要:Bipartite Checking 感觉这种题写过很多次啦。 删边很难操作, 我们把边的影响区间丢到线段树上, 就全部变成加边了。 我们用按秩合并并查集维护每个点到根的奇偶性, 合并的时候能在小的子树的根打个标记。
阅读全文

浙公网安备 33010602011771号