点分树 / 动态点分治

更新日志 2025/06/28:开工。

用途

首先你需要会点分治

那么动态点分治实际上就是解决带修点分治问题。

实现

我们按点分治遍历的顺序建点分树,也就是说,以当前连通块的重心为点分树子树的根,其点分树上各子节点就是其原树上各子节点所在连通块的重心。

这样建完树后所有子树大小之和为 \(O(n\log n)\) 级别。证明同点分治每次暴力深搜的复杂度证明部分。

同时树高也是 \(O(\log n)\) 级别的。

对于修改操作,我们只需要暴力跳父亲修改路径上各点的信息即可。因此,通常情况下点分树只需要存父节点信息即可。

posted @ 2025-06-28 07:37  LastKismet  阅读(22)  评论(0)    收藏  举报