40pts求调(必关)
查看原帖
40pts求调(必关)
1654665
jinyukai316楼主2025/7/21 21:00
#include<bits/stdc++.h>
using namespace std;
map<int,int>m;
int a[100100];
int b[100100];
int n,n1;
int main(){
//	freopen("XXX.in","r",stdin);
//	freopen("XXX.out","w",stdout);
//	ios::sync_with_stdio(false);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>n1;
		memset(a,0,sizeof(a)); 
		memset(b,0,sizeof(b)); 
		for(int j=1;j<=n1;j++){
			int aa;cin>>aa;
			m[aa]=j;
//			cout<<m[aa];
			a[j]=aa;
		}
//		for(int j=1;j<=n1;j++)cout<<a[j]<<" ";
//		cout<<"\n\n";
		for(int j=1;j<=n1;j++){
			int bb;cin>>bb;
			b[j]=m[bb];
		}
//		for(int j=1;j<=n1;j++)cout<<b[j]<<" ";
//		cout<<"\n\n";
		bool flag=1;
		for(int j=1;j<=n1;j++){
//			cout<<b[j]-b[j-1]<<" ";
			if(b[j-1]-b[j]>=2&&n1+1-j<=b[j-1]-b[j]&&j!=n1){
				flag=0;
				cout<<"No\n";
				break;
			}
		}
		if(flag)cout<<"Yes\n";
		for(int j=1;j<=n1;j++){
			m[a[j]]=0;
		}
	}
	return 0;
} 
2025/7/21 21:00
加载中...