题解:
一道比较经典的题目
首先这题要动态维护虚树 然后这样多计算的就是lca最大点---根的距离
而lca最大点就是dfs序最小的和dfs序最大的lca
然而动态维护虚树我并不会
所以一个比较常用的做法是
按照dfs序排列,然后通过自己与lca来维护一下东西
这道题里显然是sigm(dis[a[i]])-sigma(dis[lca(a[i-1],a[i])])
然后要动态维护这个东西显然搞个set维护一下dfs序就可以了