摘要:
树上的基础知识,也有一些科技。 LCA 的求法 树剖 倍增 跳到同一深度后记得判两个点相同的情况。 ST表 除了这个要么熟知要么没什么用。学习一下。 预处理 \(O(n\log n)\),查询 \(O(1)\)。可以用 DFS 序或者欧拉序实现。但是欧拉序的常数较大,还是用 DFS 序。 主要参考 阅读全文
posted @ 2025-06-14 16:45
RandomShuffle
阅读(18)
评论(1)
推荐(1)
摘要:
点分治 可以处理大规模树上路径信息问题。 每次选择一个节点作为根节点\(rt\),树上路径要么经过\(rt\)要么不经过\(rt\)。先处理\(rt\)作为链的一端,子树中的点作为另一端的链的贡献,那么经过\(rt\)的路径的信息可以通过这样的链合并得到。 然后对于每个子树递归下去处理。递归下去之前 阅读全文
posted @ 2025-06-14 16:40
RandomShuffle
阅读(15)
评论(0)
推荐(1)
摘要:
先遍历轻儿子计算答案,不保留影响。 遍历重儿子计算答案,保留影响。 再遍历轻儿子,加入其对 \(u\) 的贡献,计算 \(u\) 的答案。 这一部分通过类似重链剖分的分析,是\(O(n\log n)\)的。加上算贡献的复杂度还要再乘进去。 好写,适合乱搞,或者利用小常数冲过一些题。 这样的复杂度分析 阅读全文
posted @ 2025-06-14 16:37
RandomShuffle
阅读(11)
评论(0)
推荐(1)
摘要:
在树上做一些东西的时候(废话),我们发现有很多树上的点是没有用的。 虚树就是对树上信息高度概括的技术,在虚树上,我们只保留最为有用的信息,且保持祖先后代关系不变。 具体而言,我们称一些点为关键点,即只有这些点会对问题的答案产生影响。 那么我们发现,关键点的LCA也是关键点。 当我们钦定树上的\(k\ 阅读全文
posted @ 2025-06-14 16:35
RandomShuffle
阅读(27)
评论(0)
推荐(1)

浙公网安备 33010602011771号