传送门
题目并不难(想)
其实就是用倍增维护几个树上信息。
也就这么几个:
- 子树内最长链及其后继点。
- 子树内次长链及其后继点。
- 子树内第三场链(也就是
d
z
y
o
dzyo
dzyo口中鬼畜的次次长链)
- 点
i
i
i的第
2
j
2^j
2j个父亲不计算
i
i
i这棵子树的最优值
−
d
e
p
-dep
−dep
- 点
i
i
i的第
2
j
2^j
2j个父亲不计算
i
i
i这棵子树的最优值
+
d
e
p
+dep
+dep
- 点
i
i
i的第
2
j
2^j
2j个祖先
然后注意细节狂码一波就能过了
代码