求纸币数目最少问题。。

dingyaguang117 2010-03-17 05:38:53
一种新的货币系统:由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 ..
...

注意,贪心的结果可能是错的。。

...全文
422 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
从前往后走
1 2 5
是吧,
先把 1 2 5 给填了。
再填 3,4,6,7,10
再填 8、9

这样就好了。
hellodota121 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 leontown 的回复:]

cool!
DP。
另外,编程之美上的一节“买书问题”也有类似的DP方法。。。
[/Quote]
LeonTown 2010-03-18
  • 打赏
  • 举报
回复
cool!
DP。
另外,编程之美上的一节“买书问题”也有类似的DP方法。。。
FancyMouse 2010-03-18
  • 打赏
  • 举报
回复
对于一个硬币系统,贪心是否一直是最优解,这个存在强多项式的。没记错的话O(n^3)

当然和lz的问题是不一样的。
michael122 2010-03-18
  • 打赏
  • 举报
回复
dp了,复杂度还好,O(n*k)
dingyaguang117 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 litaoye 的回复:]
基本上就是这样,上面给的是状态转移方程,其实基本上用贪心是可以的,bfs和dp只要计算一个很小的范围就可以了,剩下的靠贪心。
[/Quote]

我也做了贪心 可是贪心有时候是错的 怎么办呢
  • 打赏
  • 举报
回复
嗯,就是BFS
[Quote=引用 12 楼 vshuang 的回复:]
从前往后走
1 2 5
是吧,
先把 1 2 5 给填了。
再填 3,4,6,7,10
再填 8、9

这样就好了。
[/Quote]
duguyue200 2010-03-17
  • 打赏
  • 举报
回复
饿~对价格DP

但是数据大了,空间开销是不是也很大啊,而且如果是稀疏的更加郁闷
绿色夹克衫 2010-03-17
  • 打赏
  • 举报
回复
基本上就是这样,上面给的是状态转移方程,其实基本上用贪心是可以的,bfs和dp只要计算一个很小的范围就可以了,剩下的靠贪心。

[Quote=引用 5 楼 qq120848369 的回复:]

f(100) = min(f(99),f(98),f(95),f(90),f(80)) + 1

f(value)表示value价值时最少张数,每次可以选那么几种,选一种需要最少的+1就是现在的张数,DP记录一下。是这样么。
[/Quote]
qq120848369 2010-03-17
  • 打赏
  • 举报
回复
f(100) = min(f(99),f(98),f(95),f(90),f(80)) + 1

f(value)表示value价值时最少张数,每次可以选那么几种,选一种需要最少的+1就是现在的张数,DP记录一下。是这样么。
绿色夹克衫 2010-03-17
  • 打赏
  • 举报
回复
BFS或DP都可以解

1 2 5 10 20
f(100) = min(f(99),f(98),f(95),f(90),f(80)) + 1
绿色夹克衫 2010-03-17
  • 打赏
  • 举报
回复
跟这个问题差不多,LZ看看吧。

http://topic.csdn.net/u/20100302/16/01c2a095-c7af-43a3-877b-cd75267d7baa.html
yayang17 2010-03-17
  • 打赏
  • 举报
回复
表述不清。
dingyaguang117 2010-03-17
  • 打赏
  • 举报
回复
不知道这道题的意思是整体的动态规划,还是每个数 单独动态规划

33,025

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧