二位差分0分求助
  • 板块P3397 地毯
  • 楼主__Shine__
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/10/7 15:03
  • 上次更新2023/10/27 08:19:12
查看原帖
二位差分0分求助
552610
__Shine__楼主2022/10/7 15:03

暴力已AC,但老师非让用二位差分

#include<bits/stdc++.h>
#define int   long long
#define rg    register int
#define float double
using namespace std;
int n,m,d[1010][1010];
signed main()
{
	cin>>n>>m;
	while(m--)
	{
		int X1,X2,Y1,Y2;
		cin>>X1>>X2>>Y1>>Y2;
		d[X1][Y1]++;
		d[X2+1][Y1]--;
		d[X1][Y2+1]--;
		d[X2+1][Y2+1]++; 
	}
	d[0][0]=0;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			d[i][j]+=(d[i-1][j]+d[i][j-1]-d[i-1][j-1]);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
			cout<<d[i][j]<<" ";
		cout<<endl;	
	}
				
	return 0;
}
2022/10/7 15:03
加载中...