树剖已经是人尽皆知的sb题了吗…… 很早以前就想填掉这坑了…… 考虑到树链唯一,进行操作并不会对换根产生影响,那么我们的换根操作只要记下root在哪里就好了 询问的时候分类讨论: 1:root == x 直接返回全树最大值就好了 2:lca(root, x) != x,那就和x没什么关系了,只要返回原子树最大值就好了 3:lca(root, x) == x,说明x在root的上方,那么找到x的儿子中root的祖先y,除了y的子树就都是x的子树了 跳树链和找lca可以用倍增实现 总复杂度 O(n…