======================================================================================================================================
lowbit(int x)
{
return x&(-x);
}
======================================================================================================================================
修改操作
void modify(int x,int data)
{
for(int i=x;i<=n;i+=lowbit(i))
c[i]+=data;
}
====================================================================================================================================
求和操作
int getsum(int x) //求a[1]+a[2]+……+a[x]
{
int sum=0;
for(int i=x;i>0;t-=lowbit(i))
sum+=c[i];
return sum;
}
//求区间[a,b] getsum(b)-getsum(a-1)
====================================================================================================================================