参考:https://www.zhihu.com/question/23995189
解题步骤
1.我是谁(状态定义):面对的局面表示为x
2.两个思路(状态转移方程):找出f(x)与哪些局面有关(也就是p),写出式子
1)我从哪里来:f(x) = f§ +1
2)我要到哪去: 求出f(x),更新f(x+1)…
状态定义很重要,定义不好可能得不出状态转移方程
例题1:凑钱
钞票面额是1、5、11,求凑15块钱需要的最少张数
分析:w=15时,如果先取11,w就剩下4,即cost = f(4) + 1
先取5,w剩下10,即cost = f(10) +1
所以f(n)只与f(n-1),f(n-5),f(n-11)相关
- 我是谁:记f(n)为凑n块钱需要的最少张数
- 我从哪来:f(n)与f(n-1),f(n-5),f(n-11)相关
因此需要一个for循环,对n循环,每次循环需要判断f(n-1)+1,f(n-5)+1,f(n-11)+1的最小值,结果就是f(n)的最小值