zoukankan      html  css  js  c++  java
  • 算法之动态

    动态算法,最早的例子看的是最小树,以为是贪心的变种。

    后面又看了切钢条,才有点初步理解。首先dp.的programming 的意思是表格法。

    动态算法,其实更应该看成分治的变种。

    1.首先问题必须可以缩小规模下去,所以就是可以划出最优子问题。

    2.和分治法不同的是,分治法中,n问题只依赖某个确定的比n小的问题, 而动态规划中,n问题,可能依赖 1,2,3,...n-1 中的任意多个,

        所以要求我们必须从最小规模求最优解开始,并记录最优解,供更大规模使用。正因为从最小规模的最优开始,这样导致看起来像贪心。呵呵。

    先试着走最优的一步,但是并没有把走的那步一定当作解的一环,而是暂时更新结果,再重新回到开头。

    动态法是一种,总领思想是分治,实施起来却像贪心的算法,必须具有最优子问题特性。

    一般采用自底向上的表格法,也可以采用 形式上自顶向下,本质自底向上的递归来处理。

    常见算法

    最短路径,最小树

    切钢条

    01背包

    找零

  • 相关阅读:
    将字符数组写到字符串
    两种比较不错的密码修改方案
    数组的应用 结构类型 使用深复制和浅复制 显示员工信息
    字符串处理技巧
    uva 1339
    11039
    uva 11636
    Uva401Palindromes
    poj2524-Ubiquitous Religions
    Poj1611The Suspects
  • 原文地址:https://www.cnblogs.com/lsfv/p/10514871.html
Copyright © 2011-2022 走看看