zoukankan      html  css  js  c++  java
  • 最优子结构(optimal substructure)

    最优子结构是依赖特定问题子问题的分割方式而成立的条件。各子问题具有最优解,就能求出整个问题的最优解,此时条件成立。

    比如求广州到北京的最短距离,假设这个路径必经过中间的南京,那么先把路径分割为(广州,南京)和(南京,北京)。分别求出子路径的最短距离然后再连接,就可以得到广州到北京的最短路径。

    因此,寻求最短路径的问题可以利用子路径的最优解获得整个问题的最优解。这样就可以证明,最短路径具有最优子结构。

    • 当然最长递增(LIS)

    反之,如果不能利用子问题的最优解获得整个问题的最优解,那么这种问题就不具有最优子结构。

    很多问题的最优子结构都表现出非常直观的形式,以至于都不需要另外的证明过程。不过,遇到结构不是很直观的问题时,则需要用反证法证明(假设子问题的最优解不是整个问题的最优解 ⇒ ?)。

  • 相关阅读:
    css定位
    题解 P2345 【奶牛集会】
    浅谈主席树
    浅谈Manacher算法
    CSP2019 游记
    P5025 [SNOI2017]炸弹
    浅谈2-SAT
    DAY 5模拟赛
    DAY 3
    Luogu P2915 [USACO08NOV]奶牛混合起来
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423854.html
Copyright © 2011-2022 走看看