最长公共子序列是动态规划的经典问题:
状态转移方程:
- dp[i][j] = 0 如果i=0或j=0
- dp[i][j] = dp[i-1][j-1] + 1 如果X[i-1] = Y[i-1]
- dp[i][j] = max{ dp[i-1][j], dp[i][j-1] } 如果X[i-1] != Y[i-1]
此问题网上好多文章介绍,百度即可,转移方程要记住。
还有就是要记录路径的,这种题目请参见后面题目。
最长公共子序列是动态规划的经典问题:
状态转移方程: