3 条题解
-
1
#include <bits/stdc++.h> const int N=1e4+10; using namespace std; int n,ans,sum; int a[N],b[N],f[N][N]; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ cin>>b[i]; } for(int i=1;i<=n;i++){ sum=1; for(int j=1;j<=n;j++){ f[i][j]=f[i-1][j]; if(a[i]==b[j]){ f[i][j]=max(f[i][j],sum); } if(b[j]<a[i]) sum=max(sum,f[i][j]+1); } } for(int i=1;i<=n;i++){ ans=max(ans,f[n][i]); } cout<<ans; }
信息
- ID
- 183
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 166
- 已通过
- 49
- 上传者