第一次接触一个这最长公共上升子序列

不过其实搞清楚了跟最长公共子序列和 最长上升子序列如出一辙

两重循环,对于当前不相等的,等于前一个的值,相等的,等于比当前A【i】小的最大值+1。弄个临时变量记录最大值即可

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int dp[2][1010];
int A[1010],B[1010],n,m;
int main()
{
int t;
scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d",&A[i]);
scanf("%d",&m);
for (int i=1;i<=m;i++) scanf("%d",&B[i]);
memset(dp,0,sizeof dp);
int maxn=0;
int p=0;
for (int i=1;i<=n;i++){
maxn=0;
for (int j=1;j<=m;j++){
if (A[i]!=B[j]) dp[p][j]=dp[p^1][j];
else{
dp[p][j]=maxn+1;
}
if (B[j]<A[i]) maxn=max(maxn,dp[p][j]);
}
p^=1;
}
int ans=0;
for (int i=1;i<=m;i++) ans=max(ans,dp[p^1][i]);
printf("%d\n",ans);
}
}

  

最新文章

  1. [BZOJ3224]Tyvj 1728 普通平衡树
  2. 【51Nod 1622】【算法马拉松 19C】集合对
  3. 在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突
  4. Objective-C学习笔记-第三天(1)
  5. Lambda表达式实用
  6. lintcode:快乐数
  7. MoveManager管理类
  8. Centos6.4安装Mono和MonoDevelop
  9. java内存模型 年轻代/年老代 持久区
  10. nyoj 24 素数距离问题
  11. android_小总结_方法过时的兼容处理
  12. 使用 FreeMarker 替换 JSP 的 10 个理由
  13. IO中同步、异步与阻塞、非阻塞的区别(转)
  14. plaidctf2015 uncorrupt png
  15. js的特殊运算符
  16. YII 框架在 MAC OS下 连接数据库失败 提示 DB connection: SQLSTATE[HY000] [2002]
  17. okhttputils【 Android 一个改善的okHttp封装库】使用(二)
  18. 基于IPV6的数据包分析(GNS3)
  19. 结构体重载运算符&amp;srand&amp;rand
  20. Java NIO 系列学习(一)Java NIO概述

热门文章

  1. 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle系统调优
  2. 1004 Counting Leaves (30分) DFS
  3. spring boot 中 2.X 的跨域请求
  4. idea中scala语言自动补全变量的同时,也自动补全类型
  5. 【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler
  6. 解题报告:luogu P1433 吃奶酪
  7. C语言中的变量和常量的区别和使用
  8. iframe切换
  9. Intellij Idea webstorm 激活
  10. ADV-299 宰羊 (java,过了30%)