- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOI2004 国家集训队论文 朱晨光
优化,再优化!
——从《鹰蛋》一题浅析对动态规划算法的优化
安徽省芜湖市第一中学 朱晨光
目录
关键字 2
摘要 2
正文 2
n 引言 2
n 问题 2
n 分析 3
u 算法一 3
u 算法二 4
u 算法三 4
u 算法四 6
u 小结 7
u 算法五 7
总结 10
结束语11
第1 页 共22 页
IOI2004 国家集训队论文 朱晨光
关键字
优化 动态规划 模型
摘要
本文就Ural 1223 《鹰蛋》这道题目介绍了五种性能各异的算法,并在此基础上
总结了优化动态规划算法的本质思想及其一般方法。全文可以分 四个部分。
第一部分引言,阐明优化动态规划算法的重要性;
第二部分给出本文讨论的题目;
第三部分详细讨论这道题目五种不同的动态规划算法,并阐述其中的优化思想;
第四部分总结全文,再次说明对于动态规划进行优化的重要性,并分析优化动态
规划的本质思想与一般方法。
正文
引言
在当今的信息学竞赛中,动态规划可以说是一种十分常用的算法。它以其高
效性受到大家的青睐。然而,动态规划算法有时也会遇到时间复杂度过高的问题。
因此,要想真正用好用活动态规划,对于它的优化方法也是一定要掌握的。
优化动态规划的方法有许多,例如四边形不等式、斜率优化等。但是这些方
法只能对某些特定的动态规划算法进行优化,尚不具有普遍的意义。本文将就《鹰
蛋》这道题目做较为深入的分析,并从中探讨优化动态规划的本质思想与一般方
法。
问题
有一堆共 M 个鹰蛋,一位教授想研究这些鹰蛋的坚硬度 E 。他是通过不
从一幢N 层的楼上向下扔鹰蛋来确定E 的。当鹰蛋从第E 层楼及以下楼层落下
时是不会碎的,但从第 (E+1 )层楼及以上楼层向下落时会摔碎。如果鹰蛋未摔
碎,还可以继续使用;但如果鹰蛋全碎了却仍未确定E ,这显然是一个失败的实
验。教授希望实验是成功的。
例如:若鹰蛋从第1 层楼落下即摔碎,E=0 ;若鹰蛋从第N 层楼落下仍未碎,
E=N 。
这里假设所有的鹰蛋都具有相同的坚硬度。给定鹰蛋个数M 与楼层数N 。
要求最坏情况下确定E 所需要的最少次数。
第2 页 共22 页
IOI2004 国家集训队论文 朱晨光
样例:
M=1 ,N=10
ANS=10
样例解释: 了不使实验失败,只能将这个鹰蛋按照从一楼到十楼的顺序依
次扔下。一旦在第 (E+1 )层楼摔碎,E 便确定了。(假设在第 (N+1 )层摔鹰蛋
会碎)
分析
算法一
乍一看这道题,算法并不十分明晰,因 这并不是简单的二分查找,还有对
鹰蛋个数的限制。但由于这题是求最优值,我们便自然想到了动态规划。
状态定义即为用i 个蛋在j 层楼上最坏情况下确定E 所需要的最少
次数,记 f(i,j) 。
很显然,当层数 0 时f(i,j)=0 ,即f(i,0)=0 (i=0); 当鹰蛋个数 1
时, 了不使实验失败,只能从下往上依次扔这个鹰蛋以确定 E ,即 (j -w)层
f(1,j)=j (j=0).
下面是状态转移:
假设我们在第w 层扔下鹰蛋,无外乎有两种结果: j 层
①鹰蛋摔碎了,此时必有 Ew,我们便只能用 (i-1 )个蛋在
下面的 (w-1)层确定E ,并且要求最坏情况下次数最少,这是一个子问
文档评论(0)