动态规划真的有那么抽象吗?(递推算法还是动态规划别傻傻分不清了) 以正确的姿势学习动态规划 (入门篇)
目录
一. 从单纯的递推算法推开状态的一扇门
二. 动态规划 和 递推算法 究竟是何关系, 动态规划为何是一种特殊的递推算法?
三. 动态规划继续研究状态定义和状态转移,通过题目去看看定义和转移过程, 顺便引出状态树。。。。
三. 再来几道状态定义的练习
四. 总结:
一. 从单纯的递推算法推开状态的一扇门
递推类的题目处理过程:
递推状态定义 (核心, 决定递推公式) f[x] : 符号表达式, 加上这个表达式子的定义 确定递推公式 (k i-----> k i+1) 确定f[x] 究竟依赖哪些 f[y]初始化init (递推初始状态)循环或者递归程序实现
按照上述方式对于题目进行刨析:
70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
状态定义: dp[i] : 爬上 i 阶楼梯的方法数目状态转移方程: 分析依赖关系 ?? 每一次可以爬上1 或者 2 个台阶, 所以 当你站上 i 阶级台
动态规划真的有那么抽象吗?(递推算法还是动态规划别傻傻分不清了) 以正确的姿势学习动态规划 (入门篇)最先出现在Python成神之路。
共有 0 条评论