总和为S的最小硬币数

goo*_*ing 17 algorithm dynamic dynamic-programming task

给出N个硬币的列表,它们的值(V1,V2,...,VN)和总和S.找到其总和为S的最小硬币数量(我们可以使用一种类型的硬币.我们想要),或者报告说不可能以这样的方式选择硬币,它们总结为S.

我试着理解动态编程,还没弄明白.我不明白给出的解释,所以也许你可以给我一些提示如何编程这个任务?没有代码,只是我应该开始的想法.

谢谢.

小智 11

这里很好地解释了这个问题的确切答案. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=dynProg


kyn*_*igs 6

这是一个经典的背包问题,请看这里获取更多信息:维基百科背包问题

您还应该查看一些排序,特别是从最大值到最小值的排序.