树状数组的lowbit操作:
#define lowbit(a) (a)&(-(a))
单点修改操作:
il void update(int pos,int num) { while(pos<=n) { tree[pos]+=num; pos+=lowbit(pos); } }
求和操作:
il int query(int pos) { int sum=0; while(pos>0) { sum+=tree[pos]; pos-=lowbit(pos); } }
树状数组的lowbit操作:
#define lowbit(a) (a)&(-(a))
单点修改操作:
il void update(int pos,int num) { while(pos<=n) { tree[pos]+=num; pos+=lowbit(pos); } }
求和操作:
il int query(int pos) { int sum=0; while(pos>0) { sum+=tree[pos]; pos-=lowbit(pos); } }