最长公共子序列问题-HD1423
来源:互联网 发布:mp4网页播放器js代码 编辑:程序博客网 时间:2024/06/05 21:56
Greatest Common Increasing Subsequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6073 Accepted Submission(s): 1976
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
151 4 2 5 -124-12 1 2 4
Sample Output
2
题目大意:求出两个数组公共的最长的上升子序列(可以不是连续的子序列)。
这是一道典型的求最长公共子序列问题。
#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; } /*观察该数组值的变化 for (int I = 1; I <= len2; ++I) printf("%d ",dp[I]); printf("\n");*/ } Max = 0; for (i = 1; i <= len2; ++i){ if (Max < dp[i]) Max = dp[i]; } return Max; } int main(){ 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; }本题dp数组值的变化情况:
1 0
- 最长公共子序列问题-HD1423
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 最长公共子序列问题
- 设计模式之代理模式
- 一个可以下载linux 内核升级包的网站
- 游戏引擎收藏
- Python-----文件读写
- 数据归一化的作用
- 最长公共子序列问题-HD1423
- codeforces 612D The Union of k-Segments (sorting)
- C++的输入
- SLF4J versions 1.4.0 and later requires log4j 1.2.12 or later 终极解决
- Linux线程-互斥锁pthread_mutex_t
- eclipse常用快捷键总结
- iOS中时间格式的转化(NSString/NSDate)
- 标签库描述文件TLD
- 三、安装NVIDIA显卡驱动和cuda 7.0