当前位置:网站首页>动态规划总括
动态规划总括
2022-08-04 05:14:00 【empty__barrel】
如果某一问题有很多重叠子问题,使用动态规划是最有效的。
所以动态规划中每一个状态一定是由上一个状态推导出来的由此来判断是否使用动态规划
动规是由前一个状态推导出来的,而贪心是局部直接选最优的
动态规划中dp[j]是由dp[j-weight[i]]推导出来的,然后取max(dp[j], dp[j - weight[i]] + value[i])。
但如果是贪心呢,每次拿物品选一个最大的或者最小的就完事了,和上一个状态没有关系。
对于动态规划问题,我将拆解为如下五步曲:
- 确定dp数组(dp table)以及下标的含义
- 确定递推公式
- dp数组如何初始化
- 确定遍历顺序
- 举例推导dp数组
动态规划应该如何debug:
找问题的最好方式就是把dp数组打印出来,看看是不是和自己预先推导的哪里不一样。
如果打印出来和自己预先模拟推导是一样的,那么就是自己的递归公式、初始化或者遍历顺序有问题了。
如果和自己预先模拟推导的不一样,那么就是代码实现细节有问题。
解题:
首先思考这是一个动态规划的题目,那么当前值是由前面的值表示出来的,怎么表示呢?不清楚。此时就应该通过答案反推过程同时在此过程中要始终记得当前值是可以由前面的值表示的。
dp[ n ] = 某某+dp[ i ]
dp[ i] = 某某+dp[ i] +/-/*/÷ dp[ j ]
边栏推荐
- Do you think border-radius is just rounded corners?【Various angles】
- 入坑软件测试的经验与建议
- TSF微服务治理实战系列(一)——治理蓝图
- Explain detailed explanation and practice
- Typora 使用保姆级教程 | 看这一篇就够了 | 历史版本已被禁用
- Programming hodgepodge (4)
- [C language advanced] program environment and preprocessing
- go module的介绍与应用
- [Evaluation model] Topsis method (pros and cons distance method)
- 读者让我总结一波 redis 面试题,现在肝出来了
猜你喜欢
Basic characteristics of TL431 and oscillator circuit
manipulation of file contents
10 Convolutional Neural Networks for Deep Learning 3
符号表
入坑软件测试的经验与建议
详解八大排序
Programming hodgepodge (4)
Explain detailed explanation and practice
Turn: Management is the love of possibility, and managers must have the courage to break into the unknown
深度学习21天——卷积神经网络(CNN):实现mnist手写数字识别(第1天)
随机推荐
渗透测试(PenTest)基础指南
Chapter 5 C programming expert thinking 5.4 alert Interpositioning of links
21 days learning challenge 】 【 sequential search
How to dynamically add script dependent scripts
C专家编程 第5章 对链接的思考 5.3 函数库链接的5个特殊秘密
转:管理是对可能性的热爱,管理者要有闯进未知的勇气
编程大杂烩(四)
C Expert Programming Chapter 5 Thinking about Linking 5.3 5 Special Secrets of Library Linking
C专家编程 第5章 对链接的思考 5.1 函数库、链接和载入
Cache pool of unity framework
详解八大排序
[Cocos 3.5.2]开启模型合批
Converts XML tags to TXT format (voc conversion for yolo convenient training)
Basic characteristics of TL431 and oscillator circuit
触觉智能分享-SSD20X实现升级显示进度条
【21天学习挑战赛】顺序查找
信息学奥赛一本通 1312:【例3.4】昆虫繁殖
[Skill] Using Sentinel to achieve priority processing of requests
word 公式编辑器 键入技巧 | 写数学作业必备速查表
Shocked, 99.9% of the students didn't really understand the immutability of strings