UVA - 10405 Longest Common Subsequence
2014-11-14 18:23
429 查看
题目大意:求两个字符串的最长公共子序列
解题思路:运用状态转移方程
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main() {
char A[1005], B[1005];
while (gets(A)) {
gets(B);
int n = strlen(A);
int m = strlen(B);
int DP[1005][1005] = {0};
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
if (A[i-1] == B[j-1])
DP[i][j] = DP[i-1][j-1] + 1;
else
DP[i][j] = max(DP[i][j-1], DP[i-1][j]);
printf("%d\n", DP
[m]);
}
return 0;
}
解题思路:运用状态转移方程
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main() {
char A[1005], B[1005];
while (gets(A)) {
gets(B);
int n = strlen(A);
int m = strlen(B);
int DP[1005][1005] = {0};
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
if (A[i-1] == B[j-1])
DP[i][j] = DP[i-1][j-1] + 1;
else
DP[i][j] = max(DP[i][j-1], DP[i-1][j]);
printf("%d\n", DP
[m]);
}
return 0;
}
相关文章推荐
- UVA 10405 Longest Common Subsequence(简单DP)
- UVA 10405 Longest Common Subsequence
- uva 10405 Longest Common Subsequence(最长公共子序列)
- uva10405 Longest Common Subsequence(最长公共序列)
- UVa 10405 - Longest Common Subsequence 最长公共子序列模板
- uva 10405 - Longest Common Subsequence(最长公共子序列)
- uva 10405 - Longest Common Subsequence(LCS)
- UVa 10405 - Longest Common Subsequence
- uva 10405 Longest Common Subsequence 最长公共子序列 LCS
- uva 10405 - Longest Common Subsequence
- UVA 10405 - Longest Common Subsequence
- UVA 10405 Longest Common Subsequence(最长公共子序列)
- (Relax DP1.6)UVA 10405 Longest Common Subsequence(使用DP来求解最长公共子序列LCS)
- uva 10405 Longest Common Subsequence
- UVA 10405 Longest Common Subsequence (dp + LCS)
- uva 10405 - Longest Common Subsequence
- UVA 10405 - Longest Common Subsequence
- 【解题报告】uva10405_Longest Common Subsequence(最长公共子序列, dp)
- UVA 10405 - Longest Common Subsequence(最长公共子序)
- uva 10405 - Longest Common Subsequence(最长公共子序列)