其他分享
首页 > 其他分享> > 树的重心和直径

树的重心和直径

作者:互联网

一.树的重心

定义:一个顶点,子树最大siz最小的

性质:

(1)**多个点到一个点的距离和最小,这个点是重心

比如医院入住,先求出每个点到1的花费,f[1],推f[son1]时,考虑

每个son1上的点少走了siz[son1]步,其他的多走了totsize-siz[son1]步

f[son1]=f[1]+f[1]-f[son1]-f[son1]

(2)**重心<=2,而且一定相邻

(3)*在叶子上加或者删除点,重心最多移动一条边

(2)(3)放在一起,

给你一棵树,让你只能删除再添加一条边,使得只有1个重心

你就可以把1号重心上上的一个点加到2号上去

证明:则重心一定移动到2号

否则,假如移动多步,跑远了,与(3)矛盾

假如移动到其他任意非2号位置,与(2)矛盾

(4)两个树连边,new重心在两个重心连线上

 

标签:一个点,重心,siz,son1,点到,直径,移动
来源: https://www.cnblogs.com/403caorong/p/16499031.html