题意:输入一棵树,判断每一棵子树的重心是哪一个节点.
题解:
首先关于重心:一棵树将某个点去掉,会把这棵树分为好几块,以最大的一块的结点个数作为 m a x s i z e maxsize maxsize,这样的话每一个点都对应着一个 m a x s i z e maxsize maxsize,这些值当中最小的那个所对应的结点即为树的重心。
定义: G s o n [ i ] Gson[i] Gson[i]表示以 i i i为根的子树中 s i z e size size最大的子树
性质:
1.若 x x x为根节点,这颗子树的重心一定在根节点 x x x上或者是 从 x x x到以Gson[x]的重心的路径上。
2.一个树的重心的