树状数组
// BITree
int bitree[maxn];
#define lowbit(n) ((n)&(-n))
void BuiBIT(int n,int a[]){
for(int i=1;i<=n;i++)
Update(i,a[i]);
}
void Update(int n,int val){
for(i=n;i<=rst;i+=lowbit(i))
bitree[i]+=val;
}
int Query(int lst,int rst){
int sum=bitree[rst];
for(int i=lst;i>0;i-=lowbit(i))
sum-=bitree[i];
return sum;
}
浙公网安备 33010602011771号