[CSP-S2019] 树的重心

也是一个很不错的题目。

考虑我们钦定重心为根。
那么就有这样一个性质:

如果我们断的边在一个点的子树里,则这个点不会成为断边后的分裂树的根。

所以我们就只要考虑断边在子树外即可。
那么我们设\(x\)为我们要求成为重心的次数,\(S\)为另外一颗分裂树大小:
则有:
\(2 * (n-S-s_x) < (n - S)\)
\(2 * max(s_{son_x}) < (n - s)\)

那么解得:\(n - 2(s_x) < S<n - 2(max(s_{son_x}))\)
且删的边不在子树里。

考虑在\(dfn\)上主席树维护即可。

posted @ 2021-09-17 10:47  fhq_treap  阅读(71)  评论(0编辑  收藏  举报