社区
数据结构与算法
帖子详情
一个硬币问题(ACM竞赛试题)
AresGod
2003-04-12 10:10:55
一个硬币问题
给定N枚硬币,其中有正面的有反的输入用这种方法,每次只能翻动相邻的3个要求将硬币翻到所要的状态:全是正面,或全是反面
要求用最少的步骤完成,并打印出步骤
输入方法:1代表正面,0代表反面
比如1000111
对结果的要求 1
就是说硬币的排列是正反反反正正正 要求全部结果为正
要求语言:C
...全文
542
49
打赏
收藏
一个硬币问题(ACM竞赛试题)
一个硬币问题 给定N枚硬币,其中有正面的有反的输入用这种方法,每次只能翻动相邻的3个要求将硬币翻到所要的状态:全是正面,或全是反面 要求用最少的步骤完成,并打印出步骤 输入方法:1代表正面,0代表反面 比如1000111 对结果的要求 1 就是说硬币的排列是正反反反正正正 要求全部结果为正 要求语言:C
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
49 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AresGod
2003-05-25
打赏
举报
回复
最近学校封了网络上不了网,好久没有来了。谢谢大家了,封帖
mathe
2003-04-22
打赏
举报
回复
To Riemann: 我也没做出来 :)
AresGod
2003-04-21
打赏
举报
回复
看了大家这么多,我想了几天突然冒出一个这样想法,用二进制的非表示翻硬币,因为最小就是一个硬币最多翻一次,也就是说我可是生成一个N位的二进制数,然后用穷举的方法进行比较,一共的穷举次数为2的n次方.问题的难度在于解决用什么样的方法来进行模拟,是用数组储存,还是用一个n位的二进制数来储存,我今天晚上做了一个用数组储存的,但是没有调通,明天还有概率统计的课程,不能搞得太晚,明天我再调一下,看能不能行
AresGod
2003-04-21
打赏
举报
回复
真的很崇拜那些数学学的好的.我到一直到高中都是经常参加数学竞赛的,也在省里面获得过一些名次,但是由于高考的一些问题,现在的专业离数学越来越远,自己都有些痛恨自己,想考研,可是到现在我的大学里面的数学都学得很烂.......
咳!
mathe
2003-04-21
打赏
举报
回复
呵呵
1.对于这个问题其实我也有些不清楚
2.这次问的人比较多呀
3.熟能生巧呀,我回答得多了,也就自然能更详细一些
kbsoft
2003-04-21
打赏
举报
回复
我问你好多次你都没回答的如此详细. mathe不公平!!!
Riemann
2003-04-21
打赏
举报
回复
呵呵,谢谢mathe的指点,在http://members.lycos.co.uk/huidu/club/上我也曾得到过你的指点,不知道你是否还记得那个认为“极值问题”可以用数学归纳法证明的人,不过很可惜,我想错了,而且后来也没做出来。惭愧!!
mathe
2003-04-21
打赏
举报
回复
高维情况就成为解2阶域上的一个线性方程组了。
在http://members.lycos.co.uk/huidu/club/club.php?bbsid=8c3749cecafef192
有二维情况的解答方法,不过由于矩阵可能不可逆,所以对于某些n,计算最优解的时间复杂度还是不小,但是如果只是要一个次优解,那就比较简单了。
mathe
2003-04-21
打赏
举报
回复
在中学的时候搞过数学竞赛,大学时学的是数学专业;不过此后就6,7年基本上没有接触数学了,象高等数学(除了非常常用的微积分,概率论等)中的大部分理论都忘记了,只有初等数学基本上还可以保持七八分水平。
学习数学的最大好处可以锻炼你的逻辑思维能力。学好了数学,计算机中的算法问题不过是一些很简单的游戏而已。
如果说学习数学的奥妙,我想有一下几点:
1.兴趣,数学是非常抽象的一门学科,没有兴趣,肯定会感觉其枯燥无味。
2.要学会使用数学语言,数学是又她自己的语言的,我们可以在网络上看到很多人宣称其证明了哥德巴赫猜想,很可惜,只要简单的扫描一下他们的证明,就可以知道,这肯定是错误的,因为他们根本连数学语言都不懂,像这种人,你就是要向他们解释他们的错误都很难。
3.多多练习,多看一些IMO的题目,多做一些IMO的题目,可以有不少作用。初等数学的题目对于锻炼逻辑思维非常有好处。如果能够投入一两年的时间,已经足够了。
4.要勤于思考,仅仅去做一些题目还是没有作用的,要多想一想为什么要这样做。
5.数学天赋也非常重要,不是所有的人都可以学好数学的。
drag2003
2003-04-20
打赏
举报
回复
直线简单,平面难,立体更难,再加上时间就无解了。
直线就是翻硬币,平面就是加上上下左右,立体即魔方,再加时间,各位,算去吧。
drag2003
2003-04-20
打赏
举报
回复
个人觉得mathe()的算法有点问题。他说:
“简单,直接从左到右,依次使前面n-2个硬币调整到所需的方向,如果最后两个硬币这时已经达到要求,就已经找到最优解了,不然无解。
比如1000111
首先看第一个元素,已经是1了跳过。
然后第二个元素,为0,翻动2,3,4,
然后再看第3,4,5,全部为1,所以就结束了。
由于6,7位是1,所以找到了最优解需要翻动1次”
我觉得还要考滤从右往左。如: 10100111 要是从右往左就会好很多。
Riemann
2003-04-20
打赏
举报
回复
to drag2003(龙飞):
mathe()已经证明,任意交换操作序列的次序,不回改变操作的结果,对于最优操作序列,换序后仍为最优。
你所给的情况是无法翻到全1情形的,不明白你的"好很多"体现在哪儿。是判断它无解吗?这与mathe()说的并不矛盾,他并没有说这是判断无解的最优方法。事实上,最优性原理在判断此硬币序列是否无解的情况下并不成立。
Godow
2003-04-20
打赏
举报
回复
学习
DDRBillOB
2003-04-19
打赏
举报
回复
http://icpc.baylor.edu/icpc/Finals/2003ProblemsRevision4.pdf
今年的ACM试题.楼主的题就是这次ACM的问题B
AresGod
2003-04-19
打赏
举报
回复
不知道怎么加
AresGod
2003-04-19
打赏
举报
回复
我再增加50分吧
AresGod
2003-04-19
打赏
举报
回复
谢谢了!!!高人!
omrhal
2003-04-19
打赏
举报
回复
接受教育了……
ZhangYv
2003-04-18
打赏
举报
回复
问一下mathe,你是怎么学数学的?就你给出的分析来说,普通的学生(人)是到不了这种水平的。传点经验给大家:)
ZhangYv
2003-04-18
打赏
举报
回复
我后悔以前没去读数学专业。数学是自然科学的明珠,而计算机将逐渐成为这颗明珠的支架
加载更多回复(29)
[
ACM
国际大学生程序设计
竞赛
题解].赵端阳,袁鹤
[
ACM
国际大学生程序设计
竞赛
题解].赵端阳,袁鹤.高清文字版 适合有志于
ACM
的热血青年们
竞赛
资料源码-2016年全国电子设计
竞赛
吉林赛区, 基于RaspberryPi的
硬币
自动识别及分拣装置.zip
全国电子设计大赛、全国大学生智能汽车
竞赛
、蓝桥杯、集成电路创新创业大赛、光电设计
竞赛
、挑战杯、大创项目、互联网+、三创赛、计算机设计
竞赛
、创新创业大赛、
ACM
-ICPC国际大学生程序设计
竞赛
、全国大学生数学...
《
ACM
竞赛
-C/C++入门》 C语言-14
尹成老师带你步入C语言基础的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以C语言为 核心,完整... 从零基础到在蓝桥杯、NOIP、
ACM
竞赛
、信息学奥林匹克
竞赛
等高含金量的国家级
竞赛
项目取得优异成绩 !
竞赛
资料源码-
硬币
电子化回收箱 2016年中美青年创客大赛天津赛区作品.zip
全国电子设计大赛、全国大学生智能汽车
竞赛
、蓝桥杯、集成电路创新创业大赛、光电设计
竞赛
、挑战杯、大创项目、互联网+、三创赛、计算机设计
竞赛
、创新创业大赛、
ACM
-ICPC国际大学生程序设计
竞赛
、全国大学生数学...
挑战程序设计
竞赛
(第2版)
3.1.2 假定一个解并判断是否可行 3.1.3 最大化最小值 3.1.4 最大化平均值 3.2 常用技巧精选(一) 3.2.1 尺取法 3.2.2 反转(开关
问题
) 3.2.3 弹性碰撞 3.2.4 折半枚举(双向搜索) 3.2.5 坐标离散化 3.3 活用各种...
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章