最长公共子序列(LCS)
状态方程
dp[i][j] = 0 , i == 0 || j == 0
dp[i][j] = dp[i-1][j-1] + 1, i, j > 0 && x[i] == y[i]
dp[i][j] = max(dp[i][j-i], dp[i-1][j]), i, j > 0 && x[i] != y[i]
- int len1 = strlen(s1), len2 = strlen(s2);
- for(int i = 0; i <= len1; i++)
最长公共子序列(LCS)
状态方程
dp[i][j] = 0 , i == 0 || j == 0
dp[i][j] = dp[i-1][j-1] + 1, i, j > 0 && x[i] == y[i]
dp[i][j] = max(dp[i][j-i], dp[i-1][j]), i, j > 0 && x[i] != y[i]