- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据与算法课程实验
实验十 最佳英文排版问题
1.引言:
小白喜欢写英文诗,他写诗很有自己的风格:不用标点符号,而且特别抽象,很难进行
理的断句和分段。
有一天小白又有新作品了,他觉得如果能把这诗分成两段,效果肯定棒,但是他很犹豫,
不知道该从哪里断开好。于是他只好求助于同事小陈。
小陈当然是读不懂小白的诗了,不过他的思维模式是计算机的(据说他是计算机系毕业
的),所以他打算用一种计算机范畴内的 “最佳排版”策略来进行排版和分段。“诗嘛,就是
要看起来漂亮!”小陈说。
在我们考虑的范围内,英文单词是不能断开的,也就是说一个单词不能分别处于两个行
的尾和头(有一种做法是对断开的单词的断开处加横杠以示区别,但我们不采取这种做法,
否则就不需要考虑 “最佳排版”了)。
2.实验内容:
给定一篇包含N个单词的诗,每个单词的物理长度依次为a[0],a[1],...,a[N-1]。欲将诗分
成两个段落,每个段落至少有一个单词,每个段落的排版应遵循以下规则:
每行可容纳的总字符数为M;
每个单词必须在同一行,不得断开换行;
同一行的每两个单词之间有且仅有一个空格,不考虑其他标点符号;
采用左对齐的方式排版,即每行的第一个单词排在该行最左侧;
假设排版之后共有m行,每行末端没有英文单词的空档长度记作s[0],s[1],...,s[m-1]。
不考虑最后一行的空挡大小s[m-1],设计尽可能高效的算法给段落排版,使得
P=s[0]*s[0]+s[1]*s[1]+...+s[m-2]*s[m-2]
最小。当m=1 时,P等于0.
假设第一段的最优的P值为P1,第二段的最优的P值为P2,要求令P1+P2最小。
3.输入:
第一行输入两个整数N和M,从第二行开始,输入N个整数,代表a[0]到a[N-1]。
数据范围:10=N=500000, 10=M=20000, 1=a[i]=M
4.输出:
输出三个整数,第一个整数是最优的P1+P2值,第二个整数是第一段落的最后一行的
首个单词的索引值,第三个整数是第二段落的第一行的首个单词的索引值。当存在多种可行
的解答时,采取这么一种策略:假设输出为P_total,a,b,当存在多个可行的a时,选择最
小的a;a确定之后,如果仍然存在多种可行的b,就选择最小的b。
5.样例:
输入:
1050
313362 13229
输出:
004
解释:由于该诗可以放入两行里,所以每一行各成一段就行了,此时P_total等于0 (末
行的空档不计入P 中)。有多种可行的解,显然a应当等于0,这样之后仍然有多种可能的b,
选择最小的b=4;如果b4,第二行就放不下所有单词了,而且此时不存在摆放三行而使
P_total等于0的方法。
6.提示:
用动态规划的方法,分别得到两个数组optiValuePre[N]和optiValuePost[N],含义如下:
optiValuePre[i]表示以第i个单词为第一段的尾行首单词时,P1 的值。
optiValuePost[i]表示以第i个单词为第二段的头行首单词时,P2 的值。
然后就可以利用这两个数组,来寻找最佳的分段位置了。这种算法用了三轮动态规划,
每一轮的复杂度相似。
积极开动脑筋,也许你能得到更好的解法。
假如你只在大样例上得到了错误结果,请考虑目标函数P 的数据范围。
7.评分标准:
使用C或C++实现
共有5个测试样例,难度递增,每个20分
拒绝抄袭
参考文献:
[1].何宗林,基于动态规划策略的英文文档排版算法
您可能关注的文档
- 生物化学精品教学(河南科技大学)第04章糖代谢.ppt
- 生物化学精品教学(河南科技大学)第07章 脂类代谢 陈 5h.ppt
- 生物化学精品教学(河南科技大学)第02章 蛋白质的结构与功能.ppt
- 生物化学精品教学(河南科技大学)第08章 生物氧化 陈 3h.ppt
- 生物化学精品教学(河南科技大学)第10章 核苷酸代谢 陈 2h.ppt
- 生物化学精品教学(河南科技大学)第12章 物质代谢的整合与调节 1h.ppt
- 生物化学精品教学(河南科技大学)第11章 非营养物质代谢 陈 3h.ppt
- 生物化学精品教学(河南科技大学)第18章_基因表达调控.ppt
- 生物化学精品教学(河南科技大学)蛋白质生物合成.ppt
- 生物化学精品教学(河南科技大学)第20章_常用分子生物学技术的原理及其应用.ppt
文档评论(0)