DP
本文系统梳理了动态规划(DP)的几类经典问题。首先介绍线性DP,通过数塔问题和免费馅饼问题展示自底向上递推求最大路径值的思想;接着讲解最长有序子序列问题。随后进入背包DP:01背包通过二维数组实现物品选与不选的状态转移,完全背包在此基础上允许重复选择,并通过状态方程优化降低复杂度。最后介绍区间DP,以石子合并为例,说明如何通过枚举区间长度、分段合并求解最优值,体现分治思想。文章强调状态定义与转移方程的重要性,为后续学习状态压缩DP做铺垫。整体由浅入深,涵盖DP核心思维与典型应用场景。(198字)