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

    1、将已经算过的结果填在表格里面,然后记忆搜索这些结果,计算新的结果

    一般求解最优解

    概念: 

    1、 最优子结构:

           问题的最优解由相关子问题的最优解组合而成

    2、 边界:

            问题的边界, 得到有限的结果, 初始值

    3、 动态转移方程:

           问题的每一个阶段和下一个阶段的关系

    二、 动态规划题目特点

    1、计数

        -- 有多少种方式走到走到右下角

        --  有多少中方法选出K 个数使得和为 Sum

    2、 求最大最小值

        -- 从左上角走到右下角路径的最大数字和

       -- 最长上升子序列长度

    3、求存在性

        -- 取石子游戏,先手是否必胜

        -- 能不能选出K个数使得和是Sum

    三、解题步骤

    1、 确定状态

             -- 最后一步(最优策略中的使用的最后一个抉择)

             --  化成子问题(转化为前面计算出来的子问题)

    2、 转移方程

               f[x]  =  min/max( f(x - n) ,  f(x - n - 1))类似的

    3、 初始条件和边界情况

            确定状态往下一步进行的时候的最小的计算的的数值, 以及确定一些边界(一维或者二维数组的边界区域)的情况, 以及一些可能溢出的结果

    4、 计算顺序

            是从f[0] - f[1] - ---  f[x], 还是从 f[x] - f[x - 1] ----- f[0] 的这种计算顺序,依据状态转移方程确定

  • 相关阅读:
    【转载】怎样使用ZEMAX导出高质量的图像动画
    shell中的单引号,双引号,反引号
    docker容器以非root用户启动应用
    js操作json的基本方法
    页岩油
    shell中使用ssh
    强一致性 弱一致性 最终一致性
    CSV和excel
    workbook sheetname最大长度
    ipvs了解
  • 原文地址:https://www.cnblogs.com/helloqiufei/p/12349241.html
Copyright © 2011-2022 走看看