最长公共子序列LCS (学习逆向求解和向多维转化的思想)
经典例题:PKU 1458 HDOJ 1159 Common Subsequence
http://acm.pku.edu.cn/JudgeOnline/problem?id=1458
http://acm.hdu.edu.cn/showproblem.php?pid=1159
这题苏强的表格画得很好,引用一下
|
|
| a | b | c | f | b | a |
|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
a | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
b | 2 | 0 | 1 | 2 | 2 | 2 | 2 | 2 |
f | 3 | 0 | 1 | 2 | 2 | 3 | 3 | 3 |
c | 4 | 0 | 1 | 2 | 3 | 3 | 3 | 3 |
a | 5 | 0 | 1 | 2 | 3 | 3 | 3 | 4 |
和数塔的感觉有点像,就是一路地记录下N*M种可能时的最优解.
求解代码: