【平衡树启发式合并】P4178 Tree
# Description P4178 Tree # Solution 前两天 vp 时碰到一道需要在每个点维护一棵平衡树,同时需要树上启发式合并的题,然鹅发现自己不会写。 无意中发现这道题似乎也可以使用同样的做法。 大概思路是,对于每个点,先继承它的重儿子的平衡树,然后依次枚举所有的轻儿子,先统计答案,再合并平衡树。 统计答案与合并平衡树时,直接遍历轻儿子平衡树内所有的点即可。 具体来说,平衡树中存的值是子树内每个点到当前平衡树的根的点的距离。 假设当前处理到 xxx 节点,我们先计算一端为 xxx,另一端在重儿子子树内的合法点对数,即在重儿子的平衡树中查找小于等于...
more...