题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1423

Problem Description
This is a problem from ZOJ 2432.To make it easyer,you just need output the length of the subsequence.
 
Input
Each sequence is described with M - its length (1 <= M <= 500) and M integer numbers Ai (-2^31 <= Ai < 2^31) - the sequence itself.
 
Output
output print L - the length of the greatest common increasing subsequence of both sequences.
 
Sample Input
1

5
1 4 2 5 -12
4
-12 1 2 4

 
Sample Output
2
 题目大意是给定两个数字串seq1、seq2,求出它们最长公共递增子序列的长度。
状态dp[j]表示seq1中从1到n与seq2中从1到j并以seq2[j]为结尾的最长公共上升子序列的长度。
状态转移方程:dp[j] = dp[k] + 1, if seq1[i] = seq2[j], 1 <= k < j.

#include <stdio.h>
#include <string.h> #define MAX 501 int T;
int seq1[MAX], seq2[MAX];
int len1, len2;
int dp[MAX]; int LCIS(){
int i, j;
int Max;
memset(dp, 0, sizeof(dp));
for (i = 1; i <= len1; ++i){
Max = 0;
for (j = 1; j <= len2; ++j){
if (seq1[i] > seq2[j] && Max < dp[j])
Max = dp[j];
if (seq1[i] == seq2[j])
dp[j] = Max + 1;
}
}
Max = 0;
for (i = 1; i <= len2; ++i){
if (Max < dp[i])
Max = dp[i];
}
return Max;
} int main(void){
int i;
scanf("%d", &T);
while (T-- != 0){
scanf("%d", &len1);
for (i = 1; i <= len1; ++i)
scanf("%d", &seq1[i]);
scanf("%d", &len2);
for (i = 1; i <= len2; ++i)
scanf("%d", &seq2[i]);
printf("%d\n", LCIS());
if (T)
putchar('\n');
} return 0;
}

最新文章

  1. Linux安装jdk
  2. Leetcode 35 Search Insert Position 二分查找(二分下标)
  3. gradient 线性渐变 浏览器兼容
  4. hdu 5241 数学题= =
  5. 第十七章:jQuery类库
  6. Freebie: Date Picker Calendar Demo Form For Oracle Forms 6i
  7. HTML--内联元素与块级元素
  8. BZOJ 1025 SCOI2009 游戏 动态规划
  9. Andorid开发中如何去除标题栏title
  10. Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)
  11. JS函数的参数声明中用 var 与不用 var的区别
  12. Zedboard(一)开发环境Vivado
  13. 类似吸顶功能解决ios不能实时监听onscroll的触发问题
  14. django 问题综合
  15. DC综合简单总结(2)
  16. 第十七周翻译-SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志
  17. Nginx Web服务应用
  18. php curl 并发
  19. 使用Axure RP原型设计实践06,登录验证
  20. 使用CDN后配置nginx自定义日志获取访问用户的真实IP

热门文章

  1. JavaScript 原型继承开端
  2. Tomcat服务器常用配置和HTTP简介
  3. Aizu 2306 Rabbit Party DFS
  4. [Sciter系列] MFC下的Sciter–1.创建工程框架
  5. interactive_timeout和wait_timeout(
  6. CLI Console
  7. 手工配置tomcat 解决一闪而过~
  8. iOS 开发中你是否遇到这些经验问题(二)
  9. vim高亮显示
  10. chosen 下拉框