您的位置:首页 > 其它

|Tyvj|动态规划|P1071 LCIS

2016-09-01 21:29 246 查看
http://tyvj.cn/p/1071

LCIS经典问题,具体看这个

http://blog.csdn.net/Darost/article/details/52354660

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ms(i,j) memset(i, j, sizeof i);
using namespace std;
int n;
int a[3005], b[3005];
int f[3005];
int main()
{
scanf("%d", &n);
for (int i=1;i<=n;i++) scanf("%d", &a[i]);
for (int i=1;i<=n;i++) scanf("%d", &b[i]);
ms(f,0);
int ans = 0;
for (int i=1;i<=n;i++)
{
int k = 0;
for (int j=1;j<=n;j++)
{
if (a[i]==b[j])
{
f[j] = max(f[j], f[k]+1);
ans = max(ans, f[j]);
} else {
if (b[j]<a[i]) if (f[j]>f[k]) k = j;
}
}
}
printf("%d\n", ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: