做了一上午 qwq
#include<bits/stdc++.h>
#define int long long
#define maxn 100005
using namespace std;
int n,ans;
int a[maxn];
int b[maxn];
int q[maxn];
map<int,int> mp;
signed main(){
scanf("%lld",&n);
for (int i=1;i<=n;i++) scanf("%lld",&a[i]);
for (int i=1;i<=n;i++) scanf("%lld",&b[i]);
for (int i=1;i<=n;i++) mp[i]=b[i],b[i]=i;
for (int i=1;i<=n;i++) a[i]=mp[a[i]];
for (int i=1;i<=n;i++) printf("%lld ",a[i]);
printf("\n");
for (int i=1;i<=n;i++) printf("%lld ",b[i]);
printf("\n");
for (int i=1;i<=n;i++){
int p=upper_bound(q,q+ans,a[i])-q;
q[p]=a[i];
if (p==ans) ans++;
}
printf("%lld",ans);
return 0;
}
验证码 bhcx 祭