树的重心 分析
我们首先用重心做根,那么有一个结论:将非根点
然后,我们设被删掉的另一部分的大小为
- 否则,
m = s_v
我们将所有
怎么处理子树内的边?我们维护另一棵树状数组,然后计算进入进出子树的差值即可。
根的贡献需要特殊计算,我们分两种情况:
- 删掉的
v 在重儿子子树上,那么要求次重链的长度2h' \le n - s_v - 否则,
2h \le n - s_v
我们首先用重心做根,那么有一个结论:将非根点
然后,我们设被删掉的另一部分的大小为
我们将所有
怎么处理子树内的边?我们维护另一棵树状数组,然后计算进入进出子树的差值即可。
根的贡献需要特殊计算,我们分两种情况: