P1439 20pts 求助
  • 板块学术版
  • 楼主Indestructible
  • 当前回复2
  • 已保存回复3
  • 发布时间2024/5/4 13:09
  • 上次更新2024/5/4 15:20:14
查看原帖
P1439 20pts 求助
1126325
Indestructible楼主2024/5/4 13:09

做了一上午 qwq\text{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\text{bhcx} 祭

2024/5/4 13:09
加载中...