动态规划(DP)算法
2020-04-06 07:18
597 查看
动态规划(dynamic programming)
- 基本思想:把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系解题(重复子问题,前一子问题的解为后一问题提供信息)
- 适用于:
- 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。
- 无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。
- 有重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。
- 重点:问题的阶段,每个阶段的状态,从前一个阶段转化到后一个阶段之间的递推关系。
唔,是在做最大子序列的时候查到的
最大子序列问题:
已知一组数,求出其中连续子序列和最大的值。
动态规划:
把所有子序列按尾位置划分成n个
以第i个元素为最后一个元素的最大子序列:d[i]d[i]d[i]
d[i]=max{d[i−1]+a[i],a[i]}d[i]=max\{d[i-1]+a[i],a[i]\}d[i]=max{d[i−1]+a[i],a[i]}
然后再在这d[i]d[i]d[i]中找到最大的就ok了
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【算法笔记】动态规划 线性DP
- 【算法笔记】动态规划 线性DP
- 一道算法题,动态规划(dp: dynamic planning)
- 蓝桥杯 ALGO-3 算法训练 K好数 (动态规划 DP)
- 算法学习 - 动态规划(DP问题)装配线问题(C++)
- 动态规划(DP)算法
- 动态规划(DP)算法及其应用
- 夕拾算法进阶篇:16)最长回文子串(动态规划DP)
- 算法(一) --DP动态规划(LIS和LCS)
- 算法设计课程总结3(DP动态规划)
- 夕拾算法进阶篇:12)出栈序列统计(动态规划DP)
- 五大常用算法 ----DP 动态规划(Dynamic Programming)
- Java实现 算法训练 K好数 (动态规划dp)
- 动态规划(dp)算法总结
- 【视觉-立体视觉】全局匹配算法SGBM实现(含动态规划DP)详解
- 【算法之动态规划(一)】动态规划(DP)详解
- 动态规划(DP)算法
- 一些可以用动态规划(DP)算法解决的问题(C++)
- 夕拾算法进阶篇:15)最长公共子序列(动态规划DP)
- 蓝桥杯 K好数 算法训练 (动态规划DP)