社区讨论

这道题目最难点最输入,所以输入求条···

P4514上帝造题的七分钟参与者 1已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhizkpu3
此快照首次捕获于
2025/11/03 18:17
4 个月前
此快照最后确认于
2025/11/03 18:17
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int n,m;
int tree[2100][2100];
int lowbit(int x)
{
	return x&(-x);
}
void ad(int x,int y,int add)
{
	for(int i=x;i<=n;i+=lowbit(i))
		for(int j=y;j<=m;j+=lowbit(j))
			tree[i][j]+=add;
}
int sum(int x,int y)
{
	int rt=0;
	while(x)
	{
		while(y)
		{
			rt+=tree[x][y];
			y-=lowbit(y);
		}
		x-=lowbit(x);
	}
	return rt;
}
char str[5];
int a,b,c,d,add;
int main()
{
	scanf("%s%d%d",str,&n,&m);
	while(scanf("%s%d%d%d%d%d",str,&a,&b,&c,&d)!=EOF)
	{
		if(str[0]=='L')
		{
			scanf("%d",&add);
//			ad(a,b,add);
//			ad(a,d+1,-add);
//			ad(c+1,b,-add);
//			ad(c+1,d+1,add);
		}
		else
		{
//			printf("%d ",sum(c,d)-sum(a-1,d)-sum(c,b-1)+sum(a-1,b-1));
		}
	}
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...