求纸币数目最少问题。。
一种新的货币系统:由n种不同面值的纸币组成,各种面值的纸币可以多张叠加、相互搭配使用
测试1--K元面值,求要组成1--K元,分别要使用至少多少张纸币。。
例如:n=3 分别为1 2 5元
k=10
则分别求
1=1 1张
2=2 1张
3=1+2 2张
4=2+2 ..
5=2+2+1 3张
6=2+2+2 ..
...
注意,贪心的结果可能是错的。。
[解决办法]
跟这个问题差不多,LZ看看吧。
http://topic.csdn.net/u/20100302/16/01c2a095-c7af-43a3-877b-cd75267d7baa.html
[解决办法]
BFS或DP都可以解
1 2 5 10 20
f(100) = min(f(99),f(98),f(95),f(90),f(80)) + 1
[解决办法]
基本上就是这样,上面给的是状态转移方程,其实基本上用贪心是可以的,bfs和dp只要计算一个很小的范围就可以了,剩下的靠贪心。