本题中,保证复杂度的关键就是利用树剖后每个点到根的轻边数为 O(logn)O(\log n)O(logn) 的性质,证明每个点 dp 时只会被更新 O(logn)O(\log n)O(logn) 次。
那么,为什么我们在树剖时不直接按照本题的 dp 方式去剖分呢?这样整似乎只会比重链剖分更优。
想了想这个 dp 似乎也不难写,甚至比重链剖分的两个 dfs 还短,不知道卡常的时候有没有用。