随笔分类 -  树论——长链剖分

摘要:I.V.UOJ#284. 快乐游戏鸡 我们来思考一下你游戏的过程:每次找到一个最浅的 wi 大于当前死亡次数的位置 i,走到那儿;不断这样,直到下面两件事中有一件先发生: 你当前的死亡次数允许你一路走到终点。 你的死亡次数已经不小于 wi,需要寻找新的 i。 然后 阅读全文
posted @ 2021-04-09 14:35 Troverld 阅读(247) 评论(0) 推荐(0) 编辑
摘要:I.IV.[WC2010]重建计划 咋感觉这篇博客里的题全可以用一些奇奇怪怪的方法水过去啊喂 首先,淀粉质+单调队列按秩合并的算法就不说了,有兴趣的可以参见本人的题解,如果能够证明或证伪该做法那更好。 现在考虑长链剖分的做法。 首先,其明显是0/1分数规划的场景,直接套上二分转判定性问题。 之后,我 阅读全文
posted @ 2021-04-09 14:32 Troverld 阅读(103) 评论(0) 推荐(0) 编辑
摘要:I.III.CF1009F Dominant Indices 大约一年前,我曾用线段树合并硬刚过了这题,现在是正解。 可以设 fi,j 表示 i 子树中深度为 j 的点的数量。于是直接长剖优化即可。时间复杂度 O(n)。 虽然因为我极其垃圾的实现导致还没有线段树 阅读全文
posted @ 2021-04-09 14:30 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
摘要:I.II.[POI2014]HOT-Hotels 加强版 易于发现,三点间两两距离相等,当且仅当两个LCA较深的点到它们的LCA距离相等,且第三个点到该LCA的距离与前两个点相同。 于是我们设 fx,i 表示 x 子树中有多少对点,它们到LCA距离相同,且上述距离比该LCA到 阅读全文
posted @ 2021-04-09 14:28 Troverld 阅读(75) 评论(0) 推荐(0) 编辑
摘要:I.I.【模板】树上 k 级祖先 当询问某个点 xk 级祖先时,我们考虑找到其的 highbit(k) 级祖先 y(显然这个可以通过 O(nlogn) 预处理树上倍增得到)。之后,找到 y 所在长链的链顶。我们在链顶处预处理出其 阅读全文
posted @ 2021-04-09 14:26 Troverld 阅读(101) 评论(0) 推荐(0) 编辑
摘要:XXVIII.[UOJ#576][ULR#1]服务器调度 非常可怕的大数据结构题,原版代码整整码了9K,就算稍微合并合并也剩下7K…… 首先,我们考虑对每种颜色,建出一棵虚树。考虑求出虚树的一条直径。则有个结论是原树上到任意一点最远的点肯定是此直径的端点之一。 例如,我们考虑下方的这棵树: O / 阅读全文
posted @ 2021-04-02 16:59 Troverld 阅读(141) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示