树状数组模板
如题= =自用模板

1
2
3
4
5
6
7
8
9
10
class Bit{
static int MAXN=50050;
static int arr[]=new int[MAXN];
Bit(){
}
int lowbit(int v){return v&-v;}
int sum(int x){int res=0;while(x!=0){res+=arr[x];x-=lowbit(x);}return res;} //单点查询
void add(int x,int n){while(x<MAXN){arr[x]+=n;x+=lowbit(x);}}
void update(int x,int y,int n){add(x,n);add(y+1,-n);} //区间查询
}