点分治小结

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132217048

https://www.luogu.com.cn/problem/P3806

  • dfs1:找到当前重心

  • dfs2:统计当前每个点到重心的距离

  • dfz:点分治

找重心,处理出 xx 所有儿子子树和非 xx 子树的大小最大值,这个最大值最小的点 xx 就是答案

注意这个过程中统计非 xx 子树大小需要统计当前分治区间的大小 sumsum ,要时刻注意维护这个 sumsum

在这里插入图片描述