Dp D p 后的递归输出
输出的忧伤
相信许多同学都有这样的经历:当你兴致勃勃的写出一道
Dp
D
p
题,看到
Output
O
u
t
p
u
t
中最后一行一串带来恐慌的数字。
心中一想:这道题,多半是算了。
多少个黑夜中的苦刷
Dp
D
p
,以为自己已经握紧了大(
D
D
)炮()。没想到,最后炮弹无法
别哭,不忧伤。
拯救世界的递归
天空中闪过一道光….
算了,说人话。
我们可以把
Dp
D
p
看作递推的求解。
当我么得到答案时,就可以递归回去输出。
举个例子
题目
给定长度分别为 l1,l2 l 1 , l 2 的整数序列 a[],b[] a [ ] , b [ ] ,求出它的最长公共子序列。
状态定义
f[i][j] f [ i ] [ j ] :在 a[1...i] a [ 1... i ] 与 b[1...j] b [ 1... j ] 中的最长公共子序列
状态转移
1≤i≤l1,1≤j≤l2 1 ≤ i ≤ l 1 , 1 ≤ j ≤ l 2
代码

输出
就是把
Dp
D
p
倒过来
自己领悟一下
代码
总结一下
(从不写伪代码,我写的是伪伪代码)
例题和解
Thanks T h a n k s for f o r reading r e a d i n g !