树状数组常用的三个函数:单点更新,区间查询
int lowbit(int x)
{
return x&(-x);
}
int sum(int x)
{
int res=0;
while(x>0)
{
res+=C[x];
x-=lowbit(x);
}
return res;
}
void update(int x,int val)
{
while(x<=n)
{
C[x]+=val;
x+=lowbit(x);
}
}
树状数组常用的三个函数:单点更新,区间查询
int lowbit(int x)
{
return x&(-x);
}
int sum(int x)
{
int res=0;
while(x>0)
{
res+=C[x];
x-=lowbit(x);
}
return res;
}
void update(int x,int val)
{
while(x<=n)
{
C[x]+=val;
x+=lowbit(x);
}
}