动态规划求解
来源:互联网 发布:无限恐怖网络剧 编辑:程序博客网 时间:2024/06/05 02:59
参考博客
动态规划讲解:
教你彻底学会动态规划——入门篇
教你彻底学会动态规划——进阶篇
以下为对上面大神内容的总结
动规的三种形式
1)记忆递归型优点:只经过有用的状态,没有浪费。递推型会查看一些 没用的状态,有浪费。缺点:可能会因递归层数太深导致栈溢出,函数调用带来额外时间开销。总体来说,比递推型慢。2) “我为人人”递推型没有什么明显的优势,有时比较符合思考的习惯。个别特殊题目中会比“人人为我”型节省空间。3)“人人为我”递推型在选取最优备选状态的值Fm,Fn,…Fy时, 有可能有好的算法或数据结构可以用来显 著降低时间复杂度。
思路:动态规划
动规解题的一般思路
- 将原问题分解为子问题
就是确定dp[i][j] 中的i,j代表着什么
把原问题分解为若干个子问题,子问题和原问题形式相同或类似,只不过规模变小了。子问题都解决,原问题即解决(数字三角形例)。
子问题的解一旦求出就会被保存,所以每个子问题只需求 解一次。
2.确定状态
就是确定dp[i][j]的值代表着什么
3.确定一些初始状态(边界状态)的值
就是确定dp[i][j]的一些初始值,一些已知值
4.确定状态转移方程
就是确定递推公式
即如何从一个或多个“值”已知的 “状态”,求出另一个“状态”的“值”(递推型)。状态的迁移可以用递推公式表示,此递推公式也可被称作“状态转移方程”。
1 0
- 均值动态规划求解
- 动态规划问题求解
- 动态规划求解
- 动态规划求解思路
- 动态规划法求解RMQ
- 动态规划求解 最小花费
- 动态规划求解矩形嵌套
- 动态规划之组合求解
- 动态规划的求解步骤
- 动态规划求解01背包
- 动态规划求解编辑距离
- LCS问题求解-动态规划
- 动态规划问题分析求解
- 什么是动态规划?动态规划典型例题求解+代码
- 动态规划---LCS问题的求解(转载)
- 用动态规划求解的一个例题
- 动态规划法求解距离字符串问题
- 动态规划算法求解上梯子问题
- new 操作符和 new 操作的区别
- Hadoop1.x学习笔记
- Beautiful Arrangement--深度搜索--leetcode
- machine learning
- python 模块使用例子
- 动态规划求解
- Android权限大全
- C++ 向上与向下类型转换
- Java 后端实战——基于 MySQL 的 SQL 优化最佳实践
- iOS开发技巧之:获取ios相册gif图片 原数据
- game游戏学习网站
- 子线程是否可以创建Handler
- select row_number() over (order by [COLLECTORID]) as no,'26','01',GETDATE(),[COLLECTORID],'0'
- HDU-2476-String painter【区间DP】