动态规划

  1. 动态规划核心
  2. 常见的动态规划算法题
  3. dp问题解决思路
  4. 贪心算法与动态规划区别

这个一篇关于动态规划的学习笔记

动态规划核心

  • 动态规划里非常重要的两个概念:状态和状态转移方程状态怎么找:根据子问题定义状态。找到子问题,状态也就浮出水面了

常见的动态规划算法题

  • LIS(最长上升子序列):DP解法、nlogn解法、排序+LCS解法

dp问题解决思路

  • 当阅读一个题目并且开始尝试解决它时,首先看一下它的限制。 如果要求在多项式时间内解决,那么该问题就很可能要用DP来解。遇到这种情况, 最重要的就是找到问题的“状态”和“状态转移方程”。(状态不是随便定义的, 一般定义完状态,你要找到当前状态是如何从前面的状态得到的, 即找到状态转移方程)如果看起来是个DP问题,但你却无法定义出状态, 那么试着将问题规约到一个已知的DP问题

贪心算法与动态规划区别

贪心算法对每个子问题的解决方案都做出选择,不能回退;动态规划则会根据以前的选择结果对当前进行选择,有回退功能。动态规划主要运用于二维或三维问题,而贪心一般是一维问题


欢迎转载,欢迎错误指正与技术交流,欢迎交友谈心

文章标题:动态规划

文章字数:358

本文作者:Brain Cao

发布时间:2018-03-21, 08:54:35

最后更新:2020-03-07, 14:17:52

原始链接:https://braincao.cn/2018/03/21/dynamic-programming/

版权声明:本文为博主原创文章,遵循 BY-NC-SA 4.0 版权协议,转载请保留原文链接与作者。

目录
×

喜欢请收藏,疼爱就打赏