动态规划求解思路
来源:互联网 发布:桌面软件开发语言 编辑:程序博客网 时间:2024/05/22 02:12
递归函数有n个参数,就定义一个n维的数组,数组的下标是递归函数的取值范围,数组函数的值是递归函数的返回值,这样就可以从边界值开始,逐步填充数组,相当于计算递归函数的逆过程
由已知推未知
1.将原问题分解为子问题 然后逐步求解
把原问题分解为若干个子问题,子问题和原问题的形式相同或类似 只不过规模变小 或者可以被求出来
子问题一旦解决 原问题即被解决
子问题的解一旦求出就会被保存,所以每个子问题只需求解一次
2.确定状态
与子问题相关的各个变量的一组取值,我们称为一个状态
一个状态对应一个或多个子问题,所谓某个状态下的值,就是这个状态所对应子问题的解
所有状态的集合 构成问题的状态空间
在数字三角形例子中 有多少个数字就代表有多少个状态
问题的时间复杂度 是状态数目x每个状态时间复杂度
K个整型变量能构成一个状态 如果这K个整型变量的取值范围分别是N1,N2,...Nk, 我们可以用一个K维数组来存储各个状态的值
array[N1] [N2] [N3]...[Nk]
这个状态下的值通常会是一个或多个子问题的解
3初始状态:边界状态的转移:
以数字三角形为例:初始状态就是底边数字(所有底边数字),值就是底边数字的值
4状态的转移:
定义出什么是状态:以及该状态下的值后,就要找出不同状态之间如何迁移
从一个或多个值已知的状态 求出另一个状态的值
阅读全文
1 0
- 动态规划求解思路
- 动态规划求解合唱队问题的思路
- 均值动态规划求解
- 动态规划问题求解
- 动态规划求解
- 动态规划题目思路
- 动态规划法求解RMQ
- 动态规划求解 最小花费
- 动态规划求解矩形嵌套
- 动态规划之组合求解
- 动态规划的求解步骤
- 动态规划求解01背包
- 动态规划求解编辑距离
- LCS问题求解-动态规划
- 动态规划问题分析求解
- 利用动态规划解题思路
- 什么是动态规划?动态规划典型例题求解+代码
- 动态规划---LCS问题的求解(转载)
- IO流之架设简单的服务器和客户端
- ssm框架
- Kotlin 初步学习
- [poj2451]Uyuw's Concert 半平面交
- 集合的几种遍历
- 动态规划求解思路
- cf841A Godsend
- String类常见用法的实例
- 记录 python3.6.1 tensorflow 安装 可视化
- C语言--回调函数
- java解析excel
- 【Struts2】(1)Struts2框架的概念、struts2的配置文件、Action类文件、Action动态处理函数
- Maven 构建生命周期
- 光学三角法知识点总结