2010年百度之星程序设计大赛初赛.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008年百度之星程序设计大赛初赛第二场题目1.广告排名区间(10分) 问题背景 shifen广告消费预估系统可以估计出一段时间内一个特定的广告在检索结果中排在各个位置的几率。比如系统对某广告的输出如下: p1=0.03,p2=0.08,p3=0.04…… 这说明该广告展现在第1位的概率是3%,展现在第2位的概率是8%,展现在第3位的概率是4%…… 问题是:如何给出一个排名估计区间[i,j],使得广告出现在该区间中的概率大于或等于一个预设值p,同时这个区间所包含的元素尽可能的少。也可用数学语 言来描述:给定数p和数列p1,p2,…,pn,求i和j(1=i=j=n),在满足pi+pi+1+…+pj=p的前 提下让j-i最小。 一般来说,pi只需保留6位小数就足够了。这样,若令ai=106pi,a=106p,则a和所有的ai均为[0,106]之间的整数。这样就避免了对实数的处理。 输入格式 第一行包含一个整数n(1=n=100,000)。 以下n行每行包含一个[0,106]内的整数,依次为a1,a2,…,an。这n个整数之和保证不超过106。 最后一行包含一个[0,106]内的整数a。保证所有ai之和不小于a。 输出格式 输出仅一行,包含一个整数,即j–i的最小值。 样例输入 7 5 8 4 7 10 5 2 18 样例输出 2 样例解释 a2=8,a3=4,a4=7之和为19,满足条件。而任何两个相邻数之和均小于18。 2.LZW网页判重(20分) 问题背景 有一种简单的网页判重的方法,通过求两个网页内容的最长公共子序列(LCS)长度来判定两个网页的相似程度。如: (网页A)老师:请用“果然”造句。 (网页B)学生:先吃水果,然后喝汽水…… 它们的最长公共子序列为“果然”,长度为2。注意这里的“子序列”并不要求连续。 类似的,下面两个网页: (网页A)老师:请用“果然”造句。 (网页B)学生:先吃水果,然后喝汽水,果然拉肚子…… 最长公共子序列还是“果然”,长度为2。但不难看出,由于“果然”两个字在网页B中也曾连续出现,第二组网页比第一组更加“相似”。为了区分开这两种情况的区分度,我们改用一种称为LZW的理论。为了严格的叙述相似度的计算方法,我们首先定义“文本单元”。 假定网页用一个不包含空白字符(空格、回车换行、水平制表符)的字符串来表示。它只包含纯文本,没有标签。在计算相似度之前,你应该首先对该字符串进行处 理,划分成一个个“文本单元”。每个文本单位可以是一个中文字、英文单词(由一个或多个连续的半角英文字母和数字组成,正规表达式为[a-zA- Z0-9]+)、或者一个标点符号。 根据上述定义,同一个标点符号的全角和半角应该被作为不同的文本单元,尽管他们看起来可能很相近;每个单独全角英文和全角数字都应该被看成一个单独的文本单元,而连续的半角英文字母和数字应被看成一个整体。总之,全角的字符可以与中文字同等对待。 这样,网页被看成文本单元序列。例如,网页“内容?123456??web2.00#”切分出的文本单元序列为(为了显示方便,用下划线分隔各文本单元): 内_容_?_1_2_345_6_?_?_web2_._00_# 而网页“why内容相似??1234567890,web#00”的切分结果为: why_内_容_相_似_?_?_1234567890_,_web_#_00 黑体部分给出了两个网页的一个公共子序列。注意“内容”、“??”分别在两个网页中都是连续出现的文本单元。为了奖励这种情况,LZW规定一段由连续k个 文本单元组成的字符串权值为k2。在刚才的例子中,“内容”、“??”的权值均为4。但“00”是一个数字串,应当被看成一个单独的文本单元。所以权值仅 为1。 根据上述规则,公共子序列“内容??00”的权值为22+22+1=9。在所有可能的子序列中,这个权值是最大的。 给定两个网页,求他们的LZW相似度,即所有可能的公共子序列中的最大权值。 注意 1)输入的网页内容以GBK编码(参见FAQ) 2)除了大小写英文字母和数字之外的其他半角字符均视为标点符号。 输入格式 包含两行,分别是网页A和B对应的字符串(不包含空白字符)。每行至少包含5个字节,最多包含200个字节。 输出格式 输出仅一行,包含一个整数,为两个网页的LZW相似度。 样例输入 内容?123456??web2.00# why内容相似??1234567890,web#00 样例输出 9 样例解释 尽管两个网页里看上去都有“123456”但一方面第一个网页中混杂的全角和半角字符,而另一方面,即使全部改成半角字符,由于数字串“123456”和“1234567890”将分别看成一个单独的文本单元,因此无法部分匹配。 3.钉子与木板(30分) 问题背景 墙上有n个钉子,编

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档