校门外的树 思路 转为括号序列,左括号:区间左端点,右括号:区间右端点 k = 1 时,l 处的左括号数目加 1,r 处的右括号数目加 1 k = 2 时,[1,r] 区间的左括号数目 减去 [1,l-1] 区间的右括号数目 就是答案 Code #include <bits/stdc++.h> using namespace std; const int N = 1e5+10; int tr[N],trr[N]; int n,m; int lowbit(int x){ return x & -x; } void add(int t[],int x,int...