1 x 表示把点 $x$ 到根节点的路径上所有的点染上一种没有用过的新颜色。
2 x y 求 $x$ 到 $y$ 的路径的权值。
3 x 在以 $x$ 为根的子树中选择一个点,使得这个点到根节点的路径权值最大,求最大权值。
考虑$access$的时候,相当把$x$到根节点的东西染上一种颜色。
考虑树上差分$sum_{ij}=dis_i+dis_j-2\times dis_{lca_{ij}}$
现在考虑维护$dis_i$。
当$access(x)$的时候,如果断虚链,表示断开的子树的$dis+1$(由于此时断开的子树的$dis_x$多了颜色),如果连上实链,表示断开的子树的$dis-1$。
代码
1 |
|