动态规划DP_最长公共子序列LCS
2018-01-18 19:40
393 查看
裸题
#include <iostream> #include <string> #include <algorithm> using namespace std; #define maxn 210 int dp(string a, string b) { int max_common_len[maxn][maxn]; for (int i = 0; i < maxn; ++i) for (int j = 0; j < maxn; j++) { if (i == 0) max_common_len[i][j] = 0; if (j == 0) max_common_len[i][j] = 0; } int i , j ; for (i = 0; i < a.size(); ++i) { for ( j = 0; j < b.size(); ++j) { if (a[i] == b[j]) { max_common_len[i][j] = max_common_len[i - 1][j - 1] + 1; } else max_common_len[i][j] = max(max_common_len[i - 1][j], max_common_len[i][j - 1]); } } return max_common_len[a.size() - 1][b.size() - 1]; } int main(int argc, char const *argv[]) { string con1, con2; while (cin >> con1 >> con2) cout << dp(con1, con2) << endl; return 0; }
相关文章推荐
- NYOJ - 36 - 最长公共子序列(LCS,动态规划DP)
- LCS(最长公共子序列)和dp(动态规划)
- hdu 1503:Advanced Fruits(动态规划 DP & 最长公共子序列(LCS)问题升级版)
- 0011算法笔记——【动态规划】最长公共子序列问题(LCS)
- 【算法导论学习-29】动态规划经典问题02:最长公共子序列问题(Longest common subsequence,LCS)
- 最长公共子序列(LCS DP)
- 【动态规划基础篇】【矩阵取数/最大字段和/最长公共子序列(LCS)/编辑距离/最长上升子序列(LIS)】
- 51Nod 1006 最长公共子序列Lcs(dp)
- 动态规划_求最长公共子序列LCS
- LCS 最长公共子序列(DP经典问题)
- LCS最长公共子序列――动态规划
- 最长公共子序列(LCS问题)的DP解法
- 动态规划之最长公共子序列问题(LCS)
- 动态规划-最长公共子序列LCS
- nyoj 36 最长公共子序列【lcs&&dp】
- 【tyvj】【dp】最长公共子序列(LCS)
- 动态规划之最长公共子序列(LCS)
- 动态规划(DP)中LCS问题合集(有待更新中~
- 最长公共子序列LCS-DP
- 最长公共子序列(LCS---动态规划)