【树形结构】总结

Codeforces 686 D. Kay and Snowflake

这题好难啊。要求$O(n)$求出以每个节点为根的重心。考虑对于一个根节点$u$,其重心一定在【各个子树的重心到$u$】这条链上。这样就能够$O(n)$推出来了。证明起来难证易忘。不如记住树的重心的几条奇妙性质:

1. 以重心为根,各子树大小都不超过树的一半。

2. 已知一子树$v$的重心为$x$,则$v$父节点$u$的重心一定在$(x,u)$这条链上。

... 下次用到了再说

猜你喜欢

转载自www.cnblogs.com/qixingzhi/p/10929054.html