CF176E Archaeology
学到了一个巨神的结论。。
虚树大小就是 dfs 序排序后相邻两个点的距离的和 + dfs序最左和最右两个点距离的和的一半
因为按照 dfs 序来走这些点,每个点向上的边都必然会在进入这个点的时候走一次,离开这个点的时候走一次。
所以导出子树这种东西一半都要往 dfs 序来想吧。。
然后这个东西的维护就变得简单了起来,开个 set 就做完了。
cpp
1 |
|