int n, c[maxn];
int lowbit(int x){ return x&(-x); }
void add(int i, int v)
{
while(i <= n){ //这里n为数组最大的有效下标
c[i] += v;
i += lowbit(i);
}
}
int sum(int i)
{
int s = 0;
while(i>0)
{
s += c[i];
i -= lowbit(i);
}
return s;
}
【模板】树状数组
最新推荐文章于 2025-11-24 15:27:16 发布
382

被折叠的 条评论
为什么被折叠?



