文章目录
- 一、动态规划特点
- 1、求解类型
- 2、方向性
- 3、动态规划状态选择
- 4、动态规划方程设计
一、动态规划特点
1、求解类型
求解类型 : 动态规划 必须是求 最值 , 可行性 , 方案数 , 三者之一 , 如果求其它内容 , 则不能使用动态规划算法 ;
- 求最值 : 最大值 , 最小值 等 ;
- 大规模问题的结果 由 小规模问题 的计算结果 取最大值
- 大规模问题的结果 由 小规模问题 的计算结果 取最小值
- 可行性 : 是否可行 , 只要有一种方案可行即可 ;
- 大规模问题的结果 由 小规模问题 的计算结果 必须全部可行
- 大规模问题的结果 由 小规模问题 的计算结果 只要有一个可行即可
- 大规模问题的结果 由 小规模问题 的计算结果 没有可行结果
- 方案数 : 求一个总数 , 不求具体的方案 ;
- 大规模问题的结果 由 小规模问题 的计算结果 可行方案总数
2、方向性
方向性 : 动态规划 必须有 方向性 , 不能有反复 , 循环依赖 ;
如 : 骑士最短路径问题 , 骑士走 " 日 " 字形 , 可以走 8 个方向 , 在该问题中 , 我们将其行走方向 固定在了右侧的四个方向 , 这样就不会出现循环依赖 ;

如 : 数字三角形 , 在三角形中 , 只能 从上向下走 , 不能向上走 , 这样避免循环依赖 ;

3、动态规划状态选择
动态规划状态选择 : 在 坐标型 动态规划中 , 直接使用 坐标的下标 来标记 相同位置的 状态 ;
状态数组中存储的元素是 :
- 最大值 | 最小值
- 方案数
- 可行性
4、动态规划方程设计
动态规划方程设计 : 动态规划方程 , 最主要的作用是 体现出 下一步坐标状态 与 上一步坐标状态 之间的联系 ;
也就是 大规模问题解决方案 ( 下一步坐标状态 ) 与 小规模问题解决方案 ( 上一步坐标状态 ) 之间的联系 ;
![[附源码]Node.js计算机毕业设计工资管理系统PPTExpress](https://img-blog.csdnimg.cn/c1562d7f87424eab9b0f64cb9c5b488e.png)

![[2022-12-17]神经网络与深度学习 hw9 - bptt](https://img-blog.csdnimg.cn/d3f51f868cf64b109580b1e4c394374f.png)

![[ 数据结构 -- 手撕排序算法第二篇 ] 冒泡排序](https://img-blog.csdnimg.cn/857becdeaf3b4f7a981da7eb40335ccb.png)


![[附源码]Python计算机毕业设计Django万佳商城管理系统](https://img-blog.csdnimg.cn/cf1182f66a1b43399a5fe19654c445c0.png)







![[附源码]Python计算机毕业设计Django社区生活废品回收APP](https://img-blog.csdnimg.cn/a818fefbc1bd491a9b14cc7829ee3232.png)

![[附源码]Python计算机毕业设计Django室内设计类网站](https://img-blog.csdnimg.cn/01befbbb8adb4390aa3695be43fd6084.png)

