https://zhuanlan.zhihu.com/p/84236967
https://www.cnblogs.com/TinyWong/p/11260601.html
一个月过去了,我还是没有学动态点分治...
欧拉序保存了每个节点进入和返回的情况,$n$ 个结点的树,欧拉序列长度为 $2n - 1$。
两个结点的LCA就是它们在欧拉序中出现的位置的区间中,深度最小的那个结点。
对于边权为正的树,上面定义中的深度也可以换成到根的距离。
对于修改一个边权,就是区间修改。这没啥好说的。
对于查询直径,一棵树的直径就是 $max_{u, v}{dis[u] + dis[v] - min(dis[p])}$,也就是一个区间的左右端点的距离之和减去区间之间的最小距离。