| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 903 人关注过本帖
标题:[原创]硬币问题的解答
只看楼主 加入收藏
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
 问题点数:0 回复次数:8 
[原创]硬币问题的解答

:居然发了2次错误,

用动态规划就可以AC,如果用简单搜索,ACM的题目大部分是要超时的。

建立数组A[N]N=输入值*100+1;为了方便说明,A[0]没用

初始化A[N]使A[1],A[5],A[10],A[25],A[50]。为1,其他为0

然后for(i=2;i<N*100+1;i++)A[i]=A[i]+A[i-1]+A[i-5]+A[i-25]+A[i-50]/*注意这里要在下标合法的情况下,下标不合法就不加*/

最后输出A[N*100]的值就可以了;当然这个算法对空间要求比较高,其实还可以优化,

大家注意A[I]的值最多和它的前50个有关,其实用一个大小为50的循环数组就可以了——大家不妨去想一想

[此贴子已经被作者于2004-11-21 16:17:24编辑过]

搜索更多相关主题的帖子: 硬币 解答 
2004-11-21 16:16
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

如果你细心,会发现上面的算法并不是正确的,

上面的算法是建立在对I分有N种方法的话,那对I+1分必然存在对应的N种方法——这个没错

错就在于粗心的乌鸦忘记重判了,如果按上面的算法1 5,和5 1将被看成2种不同的方法,

其实只要用集合的容斥原理就可以解决这个问题。

举个比较简单的例子,假如硬币只有1 5两种,那动态转移方程应该改为A[i]=A[i-1]+A[I-5]-A[i-6];

好了,因为时间的关系,上学去了,


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-11-21 16:33
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

哈哈,在csdn发了张无聊帖,被骂傻了。哈哈……我觉得这里比csdn好,人人不高手,把自己放得不高,csdn大家都觉得自己是高手,把自己摆得很高,其实是个P。

http://community.csdn.net/Expert/topic/3573/3573313.xml?temp=.8515131

2004-11-21 22:21
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

唉..............真是无语了.........

还没搞好?


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-11-22 00:16
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

随便说了下csdn的人垃圾,就被骂了狗血淋头,其实csdn高手不多,而且没修养,没量度。

2004-11-22 00:32
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

我发帖,吵架的人多,站出来褒贬时弊的人多,解决问题的少。

2004-11-22 00:34
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
对了live你那几题都解决了吗

我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-11-22 12:12
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
没啊,是有两类,每一类挑一题做就行了,我挑了硬币和最佳旅行路径那题,做得头晕,其他的你喜欢可以做,全部都是ACM大赛的题。
2004-11-22 12:41
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
不错不错!我们都是热心的!!

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-11-22 18:42
快速回复:[原创]硬币问题的解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014552 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved