动态规划通常用来求解最优化问题,适合求解的问题需要满足两个特点:
最优化问题
最优子结构是确定动态规划算法的正确性,通常用数学归纳法来证明问题是否具有最优子结构特点;重叠子问题是确定动态规划算法的计算效率。