//开两个数组,a数组存数据,c数组存前x个数的和
核心运算
//i节点若是左儿子,父节点为i+lowbit(i);
//i节点若是右儿子,父节点为i-lowbit(i);
int lowbit(int x){
return x&(-x);
}
区间修改
void add(int x,int d){
while(x<=n){
c[x]+=d;x+=lowbit(x);
}
}
区间查询//前x个
int sum(int x){
int ret=0;
while(x>0){
ret+=c[x];x-=lowbit(x);
}
return ret;
}