Codeforces 686 D. Kay and Snowflake
这题好难啊。要求$O(n)$求出以每个节点为根的重心。考虑对于一个根节点$u$,其重心一定在【各个子树的重心到$u$】这条链上。这样就能够$O(n)$推出来了。证明起来难证易忘。不如记住树的重心的几条奇妙性质:
1. 以重心为根,各子树大小都不超过树的一半。
2. 已知一子树$v$的重心为$x$,则$v$父节点$u$的重心一定在$(x,u)$这条链上。
... 下次用到了再说
2024-02-19 08:57:22
Codeforces 686 D. Kay and Snowflake
这题好难啊。要求$O(n)$求出以每个节点为根的重心。考虑对于一个根节点$u$,其重心一定在【各个子树的重心到$u$】这条链上。这样就能够$O(n)$推出来了。证明起来难证易忘。不如记住树的重心的几条奇妙性质:
1. 以重心为根,各子树大小都不超过树的一半。
2. 已知一子树$v$的重心为$x$,则$v$父节点$u$的重心一定在$(x,u)$这条链上。
... 下次用到了再说