P4387 【深基15.习9】验证栈序列
60分,求教dalao
#include<bits/stdc++.h>
#define ll long long
#define f(a,b,c) for(ll a=b;a<=c;++a)
using namespace std;
vector<ll> s;
ll m,n,x,ans,y,t;
ll a[10000005],f[10000005];
char p;
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>t;
while(t--)
{
cin>>n;
f(i,1,n) cin>>a[i];
f(i,1,n) cin>>f[i];
ll l=1,k=1,o=0;
s.push_back(a[1]);
while(l<n)
{
if(f[l]==s.back()) l++,s.pop_back();
else if(k>=n)
{
o=1;
cout<<"No\n";
// cout<<l;
break;
}
else s.push_back(a[++k]);
}
if(o!=1) cout<<"Yes\n";
}
return 0;
}