poj 1458 dp [最长公共子序列 O(n*m)]
2012-11-08 19:24
417 查看
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int dp[1001][1001]; char s1[1001]; char s2[1001]; int get_max(int a, int b) { return a > b ? a : b; } int main() { int len1, len2, i, j; while(scanf("%s%s", s1+1, s2+1) != EOF) { len1 = strlen(s1+1); len2 = strlen(s2+1); for(i = 1; i <= len1; i++) { dp[i][0] = 0; } for(i = 1; i <= len2; i++) { dp[0][i] = 0; } for(i = 1; i <= len1; i++) { for(j = 1; j <= len2; j++) { if(s1[i] == s2[j]) dp[i][j] = dp[i-1][j-1] + 1; else { dp[i][j] = get_max(dp[i-1][j], dp[i][j-1]); } } } printf("%d\n", dp[len1][len2]); } return 0; }
相关文章推荐
- poj 1458 LCS(dp)全部最长公共子序列
- poj1458 求最长公共子序列 经典DP
- POJ 1458-Common Subsequence(dp之最长公共子序列)
- poj 1458 Common Subsequence dp 最长公共子序列
- DP-POJ 1458 (LCS 最长公共子序列)
- POJ 1458最长公共子序列(DP)
- 简单dp的@poj(1)POJ 1458 最长公共子序列
- POJ 1458 Common Subsequence (DP+LCS,最长公共子序列)
- dp第一步!!!!最长公共子序列 POJ 1458
- POJ 1458 Common Subsequence-dp-(最长公共子序列模型)
- POJ--1458:Common Subsequence (DP求最长公共子序列)
- POJ 1458 Common Subsequence DP LCS 最长公共子序列
- 【简单dp】poj 1458 最长公共子序列【O(n^2)】【模板】
- POJ1458(最长公共子序列)
- POJ - 1458 Common Subsequence(最长公共子序列)
- POJ1458 Common Subsequence DP
- POJ1458 Common Subsequence LCS问题入门题[DP]
- poj 1458 最长公共子序列
- POJ 1458 最长公共子序列 LCS
- POJ 1458 & HDU 1159 - Common Subsequence(最长公共子序列)