1 条题解
-
0
// 二分+贪心 O(nlogn) #include<bits/stdc++.h> using namespace std; const int N=100010; int n,x,id[N],p[N],len; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&x),id[x]=i; memset(p,0x3f,sizeof p); for(int i=1;i<=n;i++){ scanf("%d",&x); *lower_bound(p+1,p+n+1,id[x])=id[x]; //用x的出现次序替换队列p中元素 } len=lower_bound(p+1,p+n+1,p[0])-p-1; //第一个 0x3f 左边是公共子序列 printf("%d",len); }
- 1
信息
- ID
- 1929
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 166
- 已通过
- 26
- 上传者