int bit[N],n;
int lowbit(int x)
{
return x&(-x);
}
void add(int i,int x)
{
while(i<=n)
{
bit[i]+=x;
i+=lowbit(i);
}
}
void sub(int i,int x)
{
while(i<=n)
{
bit[i]-=x;
i+=lowbit(i);
}
}
int sum(int i)
{
int res=0;
while(i>0)
{
res+=bit[i];
i-=lowbit(i);
}
return res;
}
テンプレート:フェンウィックツリー
おすすめ
転載: blog.csdn.net/qq_43461168/article/details/103428266
ランキング