相对来说树状数组比线段树扩展到二维好些多了,十几行代码也就。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int order,n,x,y,a,l,b,r,t,ans;
int c[1100][1100];
inline void add(int x,int y,int value)
{
for (int i=x;i<=n;i+=i&(-i))
for (int j=y;j<=n;j+=j&(-j))
c[i][j]+=value;
}
inline int query(int x,int y)
{
int ans=0;
for (int i=x;i>0;i-=i&(-i))
for (int j=y;j>0;j-=j&(-j))
ans+=c[i][j];
return ans;
}