POJ 1458 Common Subsequence - from lanshui_Yang
2013-08-23 11:07
441 查看
题目大意:给你连个字符串A 和 B , 让你求A 和 B 的最长公共子序列。
解题思路:此题属简单的DP 问题, 具体讲解推荐以下博客:
http://blog.csdn.net/yysdsyl/article/details/4226630
我的代码如下:
解题思路:此题属简单的DP 问题, 具体讲解推荐以下博客:
http://blog.csdn.net/yysdsyl/article/details/4226630
我的代码如下:
#include<iostream> #include<cstring> #include<cstdio> #include<string> #include<algorithm> #include<cmath> using namespace std ; const int MAXN = 1e4 + 5 ; char x[MAXN] ; char y[MAXN] ; int L[MAXN][MAXN] ; void solve() { int lenx = strlen(x) ; int leny = strlen(y) ; int i , j ; for(i = 0 ; i <= lenx ; i ++) L[i][0] = 0 ; for(j = 0 ; j <= leny ; j ++) L[0][j] = 0 ; for(i = 1 ; i <= lenx ; i ++) { for(j = 1 ; j <= leny ; j ++) { if(x[i - 1] == y[j - 1]) { L[i][j] = L[i - 1][j - 1] + 1 ; } else { L[i][j] = max(L[i - 1][j] , L[i][j - 1]) ; } } } printf("%d\n" , L[lenx][leny]) ; } int main() { while (scanf("%s" , x) != EOF) { scanf("%s" , y) ; solve() ; } return 0 ; }
相关文章推荐
- poj1458 Common Subsequence
- Common Subsequence poj-1458 动态规划
- HDU/HDOJ 1159/POJ 1458 Common Subsequence(最长公共子序列LCS,滚动数组)
- poj 1458 小白算法练习 Common Subsequence 动态规划
- POJ 1458 Common Subsequence (zoj 1733 ) LCS
- POJ 1458 / HDU 1159 / Southeastern Europe 2003 Common Subsequence (DP&LCS)
- poj 1458 Common Subsequence(LCS)
- POJ 1458 Common Subsequence DP LCS 最长公共子序列
- POJ 1458 Common Subsequence(最长公共子序列LCS)
- 动态规划之前缀动态规划:poj 1458 Common Subsequence(最长公共子序列)
- [POJ] 1458 -> Common Subsequence
- POJ_1458_Common Subsequence(最长公共子串)
- POJ 1458 - Common Subsequence
- POJ-1458 Common Subsequence
- POJ 1458 Common Subsequence
- POJ1458 Common Subsequence LCS问题入门题[DP]
- POJ-1458-Common Subsequence-经典DP
- POJ 1458 - Common Subsequence - 最长公共子序列-详解
- poj 1458 Common Subsequence
- POJ 1458 Common Subsequence 【最长公共子序列】