![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论——点分治
hhz6830975
这个作者很懒,什么都没留下…
展开
-
洛谷 P4178 Tree(点分治模板)
点分治用于解决与树上路径有关的统计问题。点分治的思想类似一般的分治:对于一棵树,一方面处理跨越不同子树的路径,即经过根的路径(相当于分治后合并时考虑跨越不同区间的影响),另一方面递归到各个子树中处理子树内的路径(相当于分治中考虑区间内的问题)。而实际处理中,我们希望递归层数尽量小。因此,我们在处理一棵无根树时,选取的根要满足:其最大子树的大小尽量小。这个根称为重心。总结起来,点分治流程...原创 2018-03-06 13:24:29 · 287 阅读 · 0 评论 -
bzoj1095【ZJOI2007】捉迷藏 (动态点分治总结)
动态点分治,就是在普通点分治的基础上,把每一层重心与上一层的重心连起来,形成一颗点分树,然后在每个点维护该点作重心时管辖的子树的信息。修改某个点时就从点分树中该点的位置开始,一路向它的父亲更新,因为点分树深度lognlognlogn,所以一次最多修改lognlognlogn个点。本题要求最远一对黑点的距离,因此用堆维护距离: C堆:在点分树每个结点u维护以u为根的子树内各个黑点到u管辖子树的...原创 2018-04-12 21:58:17 · 232 阅读 · 0 评论