Day5(树上问题)

树的重心

定义:讲树上某点删掉后,剩下的子树大小最小。

性质:1)树的重心的每棵子树大小一定小于等于n/2

           2)每棵子树大小一定小于等于n/2的点一定是树的重心->最多有2个点为重心且相邻

           3)树中所有点到某点的距离和中,到重心的距离和最小。(如果有2个重心,距离和一样)

           4)两棵树通过一条边相连成为一棵新树,新树重心一定在原来两棵树的重心的路径上。(证明:调整法)

找重心方法:

1)正常方法

2)调整法,从一个点出发,以该点为根,看儿子子树有没有大于等于n/2的,有就向下走,只到不能走了为止。

CF468D Tree https://www.luogu.org/problemnew/show/CF468D

题目大意:

有一个n个节点的树(编号1~n)。树上的每一个边都是正值。

我们定义两点之间的距离d(v,u)d(v,u)为这两点最短路径边的权值之和。

设数列p为一个1~n的全排列。求使得sigma dis(i,pi)最大的、字典序列最小的全排列p

AT2673 Tree and Hamilton Pat https://www.luogu.org/problemnew/show/AT2673

树的直径

定义:最长的简单路径

一棵树的直径可有若干条,这些直径两两相交且所有直径的交集非空

性质:1)从树上一点出发走最长路径,路径终点必为一条直径的一个端点

           2)两棵树用一条边合并,新树直径两端顶点一定是原本两树两条直径四个端点中的两个(不考虑多条直径)

猜你喜欢

转载自www.cnblogs.com/wifimonster/p/10227091.html