社区讨论

0分代码,RE+WA,玄关求调

P8818[CSP-S 2022] 策略游戏参与者 3已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lo10yrdi
此快照首次捕获于
2023/10/22 13:25
2 年前
此快照最后确认于
2023/11/02 12:55
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int f[300010][25],e[300010][25],maf[300010][25],ema[300010][25];
int i,j,fsb,fsa,zsa,zsb,n,m,q,l1,ma,l2,r1,r2,a[1000010],b[1000010];
int solvef(int x,int y){int k=log2(y-x+1);return min(f[x][k],f[x-1<<(k-1)+1][k]);}
int solvee(int x,int y){int k=log2(y-x+1);return min(e[x][k],e[x-1<<(k-1)+1][k]);}
int solvemaf(int x,int y){int k=log2(y-x+1);return max(maf[x][k],maf[x-1<<(k-1)+1][k]);}
int solveema(int x,int y){int k=log2(y-x+1);return max(ema[x][k],ema[x-1<<(k-1)+1][k]);}
signed main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m>>q;
	for(i=1;i<=n;i++)cin>>a[i],f[i][0]=a[i],maf[i][0]=a[i];
	for(i=1;i<=m;i++)cin>>b[i],e[i][0]=b[i],ema[i][0]=b[i];
	for(i=1;i<=17;i++)for(j=1;j<=n;j++)f[j][i]=min(f[j][i-1],f[j+(1<<(i-1))][i-1]);
	for(i=1;i<=17;i++)for(j=1;j<=m;j++)e[j][i]=min(e[j][i-1],e[j+(1<<(i-1))][i-1]);
	for(i=1;i<=17;i++)for(j=1;j<=n;j++)maf[j][i]=max(maf[j][i-1],maf[j+(1<<(i-1))][i-1]);
	for(i=1;i<=17;i++)for(j=1;j<=m;j++)ema[j][i]=max(ema[j][i-1],ema[j+(1<<(i-1))][i-1]);
	while(q--){
		cin>>l1>>r1>>l2>>r2;
		if(solvee(l2,r2)<0)fsb=1;else fsb=0;if(solvef(l1,r1)<0)fsa=1;else fsa=0;
		if(solvemaf(l1,r1)>=0)zsa=1;else zsa=0;if(solveema(l2,r2)>=0)zsb=1;else zsb=0;
		if(fsa&&fsb)cout<<solvemaf(l1,r1)*solvee(l2,r2)<<"\n";
		else if(!fsa&&!fsb)cout<<solvemaf(l1,r1)*solvee(l2,r2)<<"\n";
		else if(!fsa&&fsb)cout<<solvef(l1,r1)*solvee(l2,r2)<<"\n";
		else if(fsa&&!fsb)cout<<solvemaf(l1,r1)*solvee(l2,r2)<<"\n";
	}
	return 0;
}
各位大佬,麻烦看一下这代码为什么RE

回复

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

正在加载回复...