动态规划的流程:
    暴力的递归解法->带备忘录的递归解法->迭代的动态规划

    思考的过程:
    找到状态和选择 -> 明确dp数组/函数的定义 ->寻找状态之间的关系

    动态规划的一般形式:
    求最值,最大最小值啊之类的。

    动态规划的特点:
    重叠子问题,具备「最优⼦结构」,「状态转移⽅程」

    状态转移⽅程就是描述问题结构的数学形式:
    例如:image.png

    你把 f(n) 想做⼀个状态 n,这个状态 n 是由状态 n - 1 和状态 n - 2 相加转移⽽来,这就叫状态转移,仅此
    ⽽已。
    如何写状态转移方程

    • 需要确定状态,也就是原问题和⼦问题中变化的变量。
    • 定义dp函数的定义 dp 的定义就是它代表什么
    • 确定选择并择优 (选择可选的硬币中的一个)