www 被大佬们吊打了|

wscqwq

园龄:2年粉丝:2关注:3

二维树状数组

单点修改,子矩阵查询。

void add(int x,int y,int v){
	for(;x<=n;x+=x&-x)
		for(int i=y;i<=m;i+=i&-i)
			c[x][i]+=v;//c[x][i]=max/min(c[x][i],v);
}
int sum(int x,int y){
	int res=0;
	for(;x;x-=x&-x)
		for(int i=y;i;i-=i&-i)
			res+=c[x][i];//res=max/min(res,c[x][i]);
	return res;
}

发现只是把一重循环改成两重就好。

至于原因,分析难,反正背下来就好。

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/18363226

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(5)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起