- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
W erCamp2003 《xmas》解题
许智磊
题目
见xmas.doc 。
题目要素
初看本题,有以下几点值得注意:
1. A 盘上环形分布着N 根针,它们的长度为1~N 之间的整数且各不相同,
这是已经知道的;B 盘上环形分布着N 个孔,它们的深度为1~N 之间
的整数且各不相同,这是没有 知的。
5
——A 和B 都可以看作1~N 的一个排列。其中N=10 。
2. A 盘可以 地旋转,也就是说可以对排列A 作循环。且总存在一种
旋转的方式使A 盘的每根针正好可以完全 B 盘的孔里而不会露在
外面,使得两个盘贴紧。也就是存在一种循环的方式将排列A 变为排
列B 。
——A 和B 是“循环同构”的。
3. 可以将A 盘压向B 盘(称为Drop )。每次压下之后,如果两盘贴紧,
那么程序自动退出,否则会返回 A 、B 盘之间的距离,也就是每根针
的长度减去所对孔的深度的最大值。要求在5 次之内将两个盘贴紧。
——要设法利用排列A 以及若干次压下的返回值来确定排列B 。
看起来,可以利用的信息不多,这是一道有难度的交互式题目。
初步分析
由于排列A 和B 是循环同构的,因此首先可以判定排列B 只有N 种可能的
5
情况,也就是排列A 的0 次,1 次……(N-1)次循环,显然,最多可以有10 种。
5
的问题就是要通过最多5 次的Drop 把这最多 10 种可能情况筛到
唯一的一种并返回,平均每次要筛掉9/10 以上,这看起来是一个严峻的 !
于是 首先想到:一定要充分利用到Drop 的返回值,尽量苛刻地筛掉那
些不可能的情况。怎样筛呢? 可以这样做:
定义dis(A,B)=max{Ai-Bi} ,也就是排列A 到排列B 的距离等于A 的每个元
素减去对应的 B 的元 差的最大值,也就是题目中所说的两个圆盘之间的距
离。首先算出排列A 到所有可能的排列B 的距离,并保存下来。
用一个线性表保存所有可能的排列B 的情况(只需保存是A 的几次循环即
可),每次选择其中的一个,设为A 的X 次循环,让A 转动到这种情况,执行
Drop ,如果两个盘贴紧,那么就成功了,否则的话,依次 当前所有的可能情
况,判断是否符合这次Drop 的结果d 。判断方法为:设当前 的排列B 为排
列A 的Y 次循环,那么就看排列A 到排列((Y-X+N) mod N) 的距离是否等于d ,
如果不相等,说明这个情况不再符合目前得到的事实,应该筛去。
这样一直筛下去,总有一次执行Drop 时会是排列A 转动到正确的排列B ,
这样一定可以正确出解(当然,这是说Drop 调用不超过5 次的情况下)。
这个算法效果如何呢?它基本上完全利用到了每次Drop 的结果,因此
不用再多考虑它的调用次数问题——因为即使不能在5 次内出来,也只能抱怨我
们运气太差,算法上很难再有所突破了。
但是它的时间复杂度实在是太高了,因为它需要一个预处理来计算排列 A
到所有N 个可能的排列B 的距离,而每次计算的复杂度是O(N) ,所以预处理的
2 5
复杂度为O(N ) ,而N
您可能关注的文档
最近下载
- NDS心跳回忆女生版Girl's side(GS)·1st love 初恋》完全攻略.docx VIP
- 德龙泵压式咖啡机 De'Longhi EC 152.CD用户手册说明书.pdf
- “中华民族共同体”的理论内涵与时代价值党课ppt课件.pptx VIP
- 中华民族共同体课件ppt.pptx VIP
- 2022铸牢中华民族共同体意识的战略意义精品课件.pptx VIP
- 上机实验3:图形填充与裁剪算法的具体实现.doc VIP
- 铸牢中华民族共同体意识课件.pptx VIP
- 如何分析掌握官兵思想动态-扎实开展谈心工作演示教学.doc
- 铸牢中华民族共同体意识精品课件.ppt VIP
- 第12章 基层治理.ppt VIP
文档评论(0)