算法一(动态规划)

运筹学:依照给定的条件和目标,从众多方案中选择最佳方案!动态规划是运筹学的重要分支之一,是解决多阶段决策过程最优化的一种方法.

动态规划简单地说就是:采用分治的策略,把求最优解问题分解为求若干个子问题的最优解,子问题也递归地分解为子问题的组合,通过递归递推等方法,把原问题最优解与局部子问题最优解联系起来,以求最后的解.这些局部子问题之间可能有重叠,就是某个子问题可能需要求解多次,因此需要将子问题及其解记录下来,这样对每个子问题只需求解一次,从而提高了效率.

原问题最优当且仅当子问题最优

以LIS问题来看动态规划,感觉真的太奇妙了,发现了对于某种数据结构特定的算法,

posted @ 2016-09-26 08:26  honpey  阅读(154)  评论(0编辑  收藏  举报