随笔分类 - Codeforces
摘要:用类似于数位dp的方式, 去求每个数字的贡献。。 好像我写得巨麻烦。 其实转化一下之后, 有很好写的方法。
阅读全文
摘要:Two Melodies dp[ i ][ j ] 表示当前到处理完前 i 个, 其中一个子串最后一位时 i , 另一个子串最后一位是 j 的最大值。 随便维护一下就能转移了。
阅读全文
摘要:Levko and Strings 感觉怎么复杂度都不对。。 没想到暴力转移复杂度是对的, 好菜啊。
阅读全文
摘要:Big Problems for Organizers 想了挺久没有想出来。。 感觉也是个套路, 以后树上两点最长路径要考虑一下把树的直径抠出来, 会发现就可以分类讨论解决问题了。。
阅读全文
摘要:Friends 首先确定第 m 大的是谁, 建出字典树之后二分去check, 找到第 m 大之后, 在跑一次字典树去统计总和。 为什么这个要取模啊, 卡了我半天。
阅读全文
摘要:Xors on Segments 转换一下变成询问区间选两个数异或的最大值, 要注意的是一个数作为左端点要-1, 所以在回滚莫队的时候用两棵字典树维护。 这个题居然n ^ 2 也能过。。。 其实用分治 + 可持久化字典树可以做到n * log(n) * log(n), 懒得写了。。。
阅读全文
摘要:Eels 感觉想不出来这种东西。。 题解讲的很清楚啦。 我好lj啊。 https://codeforces.com/blog/entry/64331
阅读全文
摘要:A Story of One Country (Easy) 考虑不断暴力用bfs地拆, 复杂度 n ^ 2 * log(n), 1e5复杂度的不知道怎么做啊。。
阅读全文
摘要:Irrigation 把询问离线, 从小到大解决, 转换成求第k大的问题, 套个平衡树就好啦。
阅读全文
摘要:Karen and Cards 刚开始想的是容斥, 但是感觉不太好容斥, 然后就gun去看题解了。。 我们考虑枚举 a , n张排分成两种 >= a 和 < a,然后我们把后两维看成平面上的点, 考虑哪些点会受到 限制, 对于 >= a 的卡片来说, 受限制区域为整个区域减去右上角矩形, 对于 <
阅读全文
摘要:Cutlet 写出转移方程式, 发现能用单调队列优化, 写起来比较麻烦。
阅读全文
摘要:Andryusha and Nervous Barriers 问题本质我们只需要找出每个线段两端下面第一个碰到的是哪个线段就好啦。 按照 h 排序我们就能用线段树套set 不管维护什么都能维护出这个东西,但是 如果set里维护 u + s的话,就能优化成单调栈, 好优秀啊。
阅读全文
摘要:Katya and Segments Sets 感觉好久没打代码了。。写个主席树debug半天。。 按r排序, 用主席树维护当前为止, 每个种类的集合的 l 的最大值的最小值。
阅读全文
摘要:And Yet Another Bracket Sequence 枚举起点, 增加的(肯定在最前面, 增加的)肯定在最后面, 比字典序用hash, 卡了自然溢出。。
阅读全文
摘要:Cow Tennis Tournament 感觉这题的难点在于想到求违反条件的三元组。。 为什么在自己想的时候没有想到求反面呢!!!! 违反的三元组肯定存在一个人能打败其他两个人, 扫描的过程中用线段树维护一下就好了。 反思: 计数问题: 正难则反 正难则反 正难则反 !!!!
阅读全文
摘要:NN country 是1175E的加强树上版本, 大致思路是一样的。。 难点在于判断两个点是否被同一条线覆盖。。 居然没想出来。 我们先把所有点对都离线,对于点对(u, v) 我们dfs到 u 的时候 记录一下v子树的和为 t1, 然后把所有在 u 的线段的另一端 + 1, 向子树递归, 回溯的时
阅读全文
摘要:Birthday 没想到平方和能在树上dp出来的。。。 知道了如何转移, 那么就很好写了。。。
阅读全文
摘要:Alphabet Permutations 转换一下, 本质就是求相邻的逆序对个数, 每次询问只是给个比较方式。 然后用线段树维护各种相邻逆序对的个数。 这个区间修改成一个数的都能用set维护的。
阅读全文
摘要:点分治之后用树状数组维护个数。
阅读全文
摘要:You Are Given a Tree 感觉是个套路。。 怎么好像我没怎么见过啊。 k * t <= n 类似于这种, 对所有 k 求满足条件 t 的最大值, 那么答案不同的数量只有根号个。 如果随 k 的变化单调的话就可以二分优化啦。
阅读全文

浙公网安备 33010602011771号