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);} }
|