DP 问题

什么时候使用DP:

  1. 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。(这句话可理解为先将复杂的问题简单化, 达到最简后的解题公式同样可以解复杂情况。比如这里说给出多个房子,那我们就从没有房子和有1个、2个房子的情况入手,找到一个规律)
  2. 无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。(也就是说每一个 子问题的解有一个状态,且固定不会变化,比如这道题中有3个房子,我选了第一个房子,这是一个状态,我选择第三个房子,这是第二个状态,但第二个状态不会改变第一个

动态规划题目的基本思路:

  1. 首先我们要决定要存储什么历史信息以及用什么数据结构来存储信息。
  2. 然后是最重要的递推式,就是如从存储的历史信息中得到当前步的结果。
  3. 最后我们需要考虑的就是起始条件的值。
原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/6336432.html