动态规划:经典题目汇总
一、动态规划的定义
动态规划(动态递推):Dynamic Programing
- 找重复性
- 最优子结构
- 数学归纳
关键点:
- 和递归、分治没有根本区别(关键看有没有最优子结构);
- 共性:找到重复子问题;
- 差异性:最优子结构、中途可以淘汰次优解;
动态规划:
- 重复子问题、最优子结构
- 存储中间状态:dp
- 递推公式
二、经典例题
3.1 一维的DP:斐波那契数列、使用最小花费爬楼梯
- 递归
- 记忆化搜索:递归+缓存
- DP:自底向上
3.2 二维的DP:不同路径1、不同路径2、最小路径和
- 分治+记忆化搜索

这篇博客详细介绍了动态规划的概念,通过斐波那契数列、爬楼梯等经典例题阐述了动态规划的最优子结构和重复子问题。讨论了二维DP问题如不同路径和最小路径和,并涉及字符串变化的DP问题——最长公共子序列。接着,博主分享了爬楼梯、最小路径和、最大子序列和等实战题目,还包括打家劫舍和股票买卖等复杂问题的动态规划解决方案。此外,还探讨了动态规划的高阶应用如编辑距离问题和其他挑战性题目,如最长上升子序列和最大矩形等。
最低0.47元/天 解锁文章
5562

被折叠的 条评论
为什么被折叠?



