• 动态规划小结


    动态规划的思维其实就是递推的思维,而记忆型递归擅长解决重叠子问题不重复求解。

    动态规划用于解决多阶段决策最优化问题
      三要素:阶段 状态 决策。
      两个条件:最优子结构(最优化原理),无后效性:当前状态是前面状态的完美总结

    动规解题的一般思路:

      是否可以用动态规划,否则用搜索。
      模型匹配:多做经典题目,掌握经典模型。
        一维:上升子序列模型,背包模型。
        二维:最长公共子序列问题。
      寻找规律:规模由大到小,或者由小到大,做逐步分析。
      放宽条件或增加条件。

    动规解题的一般过程:

      找到过程演变中变化的量(状态),以及变化的规律(状态转移方程)。
      确定一些初始状态,通常需要dp数组来保存。
      利用状态转移方程,推出最终答案。

    动规解题的解法:

      自顶向下,递归。如果有重叠子问题,带备忘录。
      自底向上,递推。

    贪心算法和动态规划:

      可以用局部最优解来推导全局最优解,即动态规划。
      贪心:这一阶段的解,由上一阶段直接推导出。
      动态规划:当前问题的最优解,不能从上一阶段子问题简单得出,需要前面多阶段多层子问题共同计算出,因此需要保留历史上求解过的子问题及其最优解。

  • 相关阅读:
    SharePoint 2010 新体验3 文档集
    Firebird 修改表名
    C++Builder XE7 up1 简单测试
    Firbird 将可 null 的列更新为 not null
    用delphiXE7 dbExpress Framework提供的功能获取数据表信息
    Linux的基本命令总结
    IOS 隐藏时间条
    最大流 ZQUOJ 10181 && POJ 1273
    最大二分匹配 匈牙利算法模板&&POJ 1469 COURSES
    新加坡第四天下午
  • 原文地址:https://www.cnblogs.com/xiaoyh/p/10371384.html
Copyright © 2020-2023  润新知