很久没有过的对着题解抄的题了。(
手玩一下之后会发现我们的区间会在第一次向两边递归的时候分开, 然后剩下的就是对是右儿子的左链求和以及对左儿子的右链求和。那么应该可以用倍增之类的东西直接硬维护。
然后点开题解发现这玩意可以直接使用差分维护。具体来说就是把(u)点和(l - 1)以及(r +1)求(lca)讨论(x = lca)的位置,那么分成(x)下面的点, 上面的点, 并且特判(u)在(x)点右子树的情况, 这个地方比普通的情况要少个(1)的深度。
然后就大概这么搞, 细节也不是很多, 但是非常难受。