入门DP

爬楼梯

打家劫舍

最大子数组和(最大子段和)

背包(选还是不选)

01背包(只能选一次)

完全背包(选无数次)

多重背包(可以选多次)

分组背包(每个组选一个或者不选)

经典线性DP

最长公共子序列 LCS

基础

进阶

最长递增子序列LIS

基础

进阶

划分DP(将数组拆分为相邻或相间的连续子数组)

划分可行性

没有个数限制

有个数限制

状态机DP

买卖股票

基础

进阶

其他线性DP

一维DP

不相交区间

子数组DP

合法子序列 DP(f[x]以元素值x结尾的合法子序列,而非下标;如果x不是整数,或者值域范围很大,可以用哈希表代替数组)

子矩形 DP

区间DP

最长回文子序列

区间 DP

计数DP

0%