树状数组(模板)
树状数组原理(OIwiki)
模板
////////////////////////////////////////
int lowbit(int k)
{
return k & -k;
}
/////////////////////////////////////////
void add(int x,int k)
{
while(x<=n)
{
tree[x]+=k;
x+=lowbit(x);
}
}
/////////////////////////////////////////
int sum(int x)
{
int ans=0;
while(x!=0)
{
ans+=tree[x];
x-=lowbit(x);
}
return ans;
}
////////////////////////////////////////////