题解: 树链剖分 和普通的树链剖分不一样,这里的线段树不只是要记录x-y的和 而是要记录x左到y左,x左到y右,x右到y左,x右到y右 然后就可以了 代码: #include<bits/stdc++.h> ,M=,inf=1e9; using namespace std; ],son[N],belong[N],pl[N]; ]; struct data{int l1,l2,r1,r2,d1,d2,d3,d4;}; *N]; *N]; void insert(int u,int v) { e[+…