www 被大佬|

wscqwq

园龄:2年粉丝:2关注:3

树的重心

模板1:树的重心

模板2:树的重心

1求重心,2求重心删除后的最大连通块。

基本方法

对于每个点,我们计算一下它分离后的最大连通块。

对于它的子节点,就是 maxsz[son],对于父节点,就是 nsz[x]

然后统计一下最小值,最后循环一遍找出即可。

特殊方法

对于一个点,如果它有一个子树 sz>n/2(以下均为向下取整),那么重心一定在这个子节点中,重复这个过程,这是利用重心的性质:分离后任意一个连通块大小 n/2。最终,要找到第二个重心,只需要枚举它的相邻边,找哪个点可以和它把整棵树划分成 n/2,n/2(n为偶数),这也是重心的性质。

  1. 重心分离得到的点满足 minmxsz,且 mxszn/2
  2. 重心要么只有一个,要么两个;两个时,两个重心将树划分成 n/2,n/2(n为偶数)。

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17751702.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(21)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起