差分写法70分求助
  • 板块P2692 覆盖
  • 楼主ATION001
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/12 10:11
  • 上次更新2024/8/12 10:59:52
查看原帖
差分写法70分求助
1050501
ATION001楼主2024/8/12 10:11

rt,一个WA,两个MLE。

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,g,b,UKE[5005][5005],MLE[5005][5005],ans;
signed main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n>>m>>g>>b;
	for(int i=1,l,r;i<=g;i++){
		cin>>l>>r;
		for(int j=l;j<=r;j++){
			UKE[j][1]=1,UKE[j][m+1]=-1;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			UKE[i][j]+=UKE[i][j-1];
		}
	}
	for(int i=1,l,r;i<=g;i++){
		cin>>l>>r;
		for(int j=l;j<=r;j++){
			MLE[1][j]=1,MLE[n+1][j]=-1;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			MLE[i][j]+=MLE[i-1][j];
			UKE[i][j]=(MLE[i][j]?1:UKE[i][j]);
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			ans+=UKE[i][j];
		}
	}
	cout<<ans;
	return 0;
}
2024/8/12 10:11
加载中...