天才的第一步

首先记住两个特征:
1.要求给出达成某种目的的解法个数
2.不要求你给出每一种解法对应的具体路径
核心思想就是穷举求最值。
只有列出正确的状态转移方程,才能正确穷举,而且需要判断算法是否具备最优子结构是否能够通过子问题的最值得到原问题的最值。
外,动态规划问题存在「重叠子问题」,如果暴力穷举的话效率会很低,所以需要你使用「备忘录」或者「DP table」来优化穷举过程,避免不必要的计算。 (看不懂)
重叠子问题、最优子结构、状态转移方程就是动态规划三要素,动态规划是自底向上的过程,它要求我们站在已知的角度,通过定位已知和未知之间的关系,一步一步向前推导,进而求解出未知的值。