1.单序列动态规划
特点:字符串,数字等序列的问题。
状态模板: f[i]表示前i个数字/字符/位置......
注意:如果序列长度为n,那么dp的数组长度应该为n+1。因为f[i]分别表示为前0个字符...,前1个字符...,......,前n个字符...。所以一共n+1个状态变量。
例题:
(1)word break
(2)Palindrome Partitioning II
......
2.双序列动态规划
状态模板:f[i][j]表示序列1的前i个字符和序列2的前j个字符......
状态方程:通常以最后一个字符是否相等来讨论状态方程。
(1)最大公共子序列LCS
(2)Edit Distance
(3)Distinct Subsequence
(4)Interleaving String
......