• 最优子结构(optimal substructure)


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

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

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

    • 当然最长递增(LIS)

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

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

  • 相关阅读:
    UVa-272-TEX Quotes
    UVa-10881-蚂蚁
    UVa-1339-古老的密码
    POJ-1328-放置雷达
    POJ-3190-分配畜栏
    Openjudge-2787-算24
    WHYZOJ-#47. 滑行的窗口(单调队列)
    2017年9月16日18:03:54
    WHYZOJ-#93. 暗黑破坏神(垃圾01背包)
    WHYZOJ-#95 大逃亡(二分+BFS)(好题!!!)
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423855.html
Copyright © 2020-2023  润新知