- E1 最长上升子序列(二分优化)
LIS 最长上升子序列:二分 + 贪心 O(n log n)。
2 min read zh - E2 最长公共子序列
LCS 最长公共子序列:二维 DP。
3 min read zh - E3 最长公共子串
最长公共子串:DP / 后缀自动机。
2 min read zh - E4 01背包
01 背包:每件物品选或不选,滚动数组优化。
2 min read zh - E5 完全背包
完全背包:物品可无限选取,正序递推。
2 min read zh - E6 多重背包
多重背包:物品有数量限制(二进制拆分)。
3 min read zh - E7 滑动窗口
滑动窗口:双端队列(单调队列)维护区间最值。
4 min read zh - E8 混合背包
混合背包:01 / 完全 / 多重背包组合。
3 min read zh - E9 二维背包
二维费用背包:体积与重量两个限制。
2 min read zh - E10 分组背包
分组背包:每组最多选一个。
2 min read zh - E11 树形DP
树形 DP:以子树为状态的树上动态规划。
4 min read zh - E12 树上背包
树上背包:在树上做依赖背包(树形 DP)。
3 min read zh - E13 背包方案数
背包方案数:求达到容量限制的方案数。
2 min read zh - E14 背包具体方案
背包具体方案:回溯输出选择的物品。
2 min read zh - E15 线性DP K笔买卖
线性 DP:最多 k 笔股票买卖的最大收益。
2 min read zh