题意:求在树中从任意点开始,经过若干个关键点回到原点的最小距离 要求支持在线将某个点设置(取消)为关键点,以及询问答案 n,m<=100000 len[i]<=10^9 思路:显然是一个虚树的模型,但并不需要虚树 其实就是求虚树的所有路径长度之和的2倍 思考后可以发现,必定是按DFS序从小到大走,再从最大点回到最小点总路程最短 所以只需要维护DFS序的插入,删除,前驱,后继,最大,最小,splay即可 插入点i时找到与它DFS序相邻的点x和y,对答案有dis(x,i)+dis(y,i)-dis…