随笔分类 - 启发式合并与线段树合并
摘要:[题目链接] https://codeforces.com/contest/204/problem/E [算法] 首先构建广义后缀自动机 对于自动机上的每个节点 , 维护一棵平衡树存储所有它所匹配的字符串编号 可以通过启发式合并得到 计算答案时 , 我们枚举每个右端点 , 当当前集合大小 < K时
阅读全文
摘要:[题目链接] https://codeforces.com/problemset/problem/666/E [算法] 首先建立广义后缀自动机 对于自动机上的每一个节点建一棵动态开点线段树 对于每次询问 , S[pl..pr]所表示节点可以在多串后缀树上倍增得到 那么我们需要的就是计算该节点中出现次
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3551 [算法] 建出此图的kruskal重构树 用线段树合并维护每个联通块的第k大点权 这样就可以在线回答询问了 时间复杂度 : O((N + Q)log N) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1483 [算法] 链表 + 启发式合并即可 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/600/problem/E [算法] 对于每一个点建立一棵线段树 , 维护当前点的子树中每个点的出现次数 可以通过深度优先遍历从下到上进行线段树合并 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2733 [算法] 用线段树维护图的联通块 , 并查集维护连通性 加边时可以直接线段树合并 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3545 [算法] 离线加边 , 用并查集维护连通性 , 然后线段树合并即可 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3307 [算法] 考虑树上差分 : 在路径x-y上每个点放一个物品c , 等价于 : 在x到根节点的路径上放一个物品c , 在y到根节点的路径上放一个物品c , 然后在x和y的最近公共祖
阅读全文

浙公网安备 33010602011771号