动态规划与分治方法都是通过组合子问题的解来求解原问题,区别在于:分治方法将问题划分为互不相交的子问题,递归求解子问题,再将它们的解组合起来,求出原问题的解.分治算法可能反复的求解某些公共子问题,从而使效率下降,例如用分治法求第n个斐波那契数.动态规划算法对每个子问题只求解一次,将其解保存在一个表格中,从而无需反复求解公共子问题.动态规划通常用来求解最优化问题. 应用动态规划方法求解的最优化问题应该具备两个要素: 1.最优子结构,如果一个问题的最优解包含其子问题的最优解,我们就称此问题具有最优子结…