树状数组

数据结构,支持区间查询,单点修改或区间修改,单点查询。

单点修改操作:

void modify(int x,int val)
{
	while(x<N){
		c[x]+=val;
		x+=lowbit(x);
	}
}

查询前缀和:

int query(int x)
{
	int res=0;
	while(x){
		res+=c[x];
		x-=lowbit(x);
	}
	return res;
}

要做到区间修改、单点查询只需要用差分思想,偷换一下概念即可。

posted @ 2023-10-13 21:48  lza0v0  阅读(24)  评论(0)    收藏  举报