zoukankan      html  css  js  c++  java
  • 动态规划

      动态规划(dynamic programming)用于解决最优解问题,以前在做OJ上面的题目的时候,遇到这类问题总也不知道该怎么做,一些看似很棘手的问题也不知道如何设计算法,最近阅读《算法导论》,在此做一下总结和笔记。

    什么是动态规划(what)

      首先,要理解动态规划所针对的问题——最优化问题,通俗的讲就是问题的目标是求解最大值(最小值)。动态规划的主要思想是将原问题分解为若干子问题,通过组合子问题来解决原问题。原问题分解成子问题这个思路跟分治法(divide and conquer)类似。那么它与分治法有什么不同呢?分治法采用递归来整合子问题,而且这些子问题通常是不同的。如果这些子问题有大量相同,那么我们在使用分治法的过程中,子问题递归到最底层,子问题就会被重复的执行。因此,如果我们能直接利用已经计算过的子问题的结果,就能大量节省时间,这就是动态规划的方法的核心。

    如何使用动态规划(how)

  • 相关阅读:
    20191005
    20191004-gugugu公告
    20191003
    10.2 一天
    考试总结 模拟$105$
    考试总结 模拟$104$
    考试总结 模拟$103$
    考试总结 模拟$102$
    考试总结 模拟$101$
    考试总结 模拟$100$
  • 原文地址:https://www.cnblogs.com/coolalan/p/4714819.html
Copyright © 2011-2022 走看看