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