一开始想的是树链剖分+线段树
这个显然可以,但是我(懒)太弱了
于是乎百度了一下
发现可以用dfs序+树状数组shi过去
先把题目简化,这题目我看了半天才看懂,题目意思就是修改边权还有询问到根节点的距离
然后dfs序有一个非常优美的性质,就是某一个点的祖先,他的入栈序比当前点的小,出栈序反之
意*(怕被再次封博)一下,很容易想的
然后如果不是某一个点的祖先那么要么入栈序比当前点大,要么出栈序比当前点小
然后,每次减去某个点1就只用在入栈序的地方的前缀和-1,出栈序的位置+1的地方+1就行了