ACM校赛比赛题目及分析.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ACM校赛比赛题目及分析

Problem A -- 超级难题 Time Limit:1000ms Memory Limit:65535KB Description ACM程序设计大赛是大学级别最高的脑力竞赛,素来被冠以程序设计的奥林匹克的尊称。大赛自1970年开始至今已有30年历史,是世界范围内历史最悠久、规模最大的程序设计竞赛。比赛形式是:经过校级和地区级选拔的参赛组,于指定的时间、地点参加世界级的决赛,由3个成员组成的小组应用一台计算机解决6到8个生活中的实际问题。参赛队员必须在5小时内编完程序并进行测试和调试。此种大赛对参赛学生的逻辑分析能力、策略制定和脑力方面具有极大的挑战性。大赛提倡在压力较大的情况下,培养学生的创造力、团队合作精神以解决竞赛的问题,从而挑选和发掘世界上最优秀的程序设计人才 竞赛的历史可以上溯到1970年,当时在美国德克萨斯AM大学举办了首届比赛。当时 的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为目前的一年一届的多国参与的国际性比赛。迄今已经举办了29届 ACM/ICPC以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是入校5年内的在校学生。比赛期间,每队使用1台电脑需要在5个小时内使用C、C++、Pascal或Java中的一种编写程序解决8或10个问题。程序完成之后提交裁判运行,并把运行结果及时通知参赛队。而且有趣的是每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球 2009年的时候队伍A参加了ACM的区域赛,那次区域赛比赛总共有N个题,队伍A做了N个题中的M个。队伍A做第一题所用的时间为T1分钟,做第一题所用的时间为T2分钟,.......做第M题所用的时间为Tm分钟。求他们平均做一题所用的时间是多少分钟 Input 输入包含两行,第一行有两个数N,M(M=N1=N=1000000)分别表示比赛的总题数和A队做的题数。第二行有M个数,分别表示T1,T2.....Tm。(1=Ti=1000000) Output 输出他们平均做一题所用的分钟数(保留小数点后一位) Sample Input 10 3 5 30 90 Sample Output 41.7 分析:所谓的“超级难题”事实上是一个超级水题,就是求平均数,前面一大段废话,可以直接略过。可以说,只要热身题目搞定了,这个题肯定是能过的。我们出去参加比赛的时候,有时候就能遇到A very hard problem其实就是水题,如果标题是A very easy problem嘿嘿~~那就要注意了,说不定就是个真正的“超级难题” Problem B -- 灌水 Time Limit:1000ms Memory Limit:65535KB Description 丁叔刚开始接触电脑就喜欢上了在论坛灌水。虽然他经营农场很有那么一套,但是到了电脑面前就成了小白。由于对电脑操作完全不熟悉,他总是找不到一种快速生成超长文本进行灌水的方法,每次都要在键盘上一个一个地敲入成百上千个字符。终于,丁叔再也无法忍受了,花了一天的时间学习电脑,总算学会了复制、粘贴等基本操作的使用,假设丁叔敲入一个字符需要1个时间单位,复制任何连续的一段已输入的内容需要5个时间单位,粘贴一次需要2个时间单位,那么丁叔生成一段至少包含N个字符的文本最少需要多长时间? Input 第一行表示测试用例的数目T 接下来T行每行一个整数N(1=N=10000) Output T行,每行一个正整数,表示生成相应长度至少为N的文本需要的最短的时间 Sample Input 2 6 15 Sample Output 6 14 分析:这是一个动态规划问题,我把sample分析一下,6直接输入6个字符就行。15是先输入5个字符,复制,然后粘贴2次,总用时5+5+2+2=14 这是唯一没有人过的题。注意复制一次后可以粘贴多次。设f[i]是生成长度为i的文本所需要的最短时间,生成长度为i的文本有两种方式:1、在长度为i-1的文本后输入一个字符;2、复制长度为j (ji)的文本,粘贴若干次。特别注意题目要求的是“生成相应长度至少为N的文本需要的最短的时间”,“至少”,举个例子,如果要求的长度是14,我生成长度15的文本也是符合要求的。状态转移方程可以这样写f[i] = min(f[i]+1, f[j] + times * 2 + 5) Problem C -- 电子表格列序号转换 Time Limit:1000ms Memory Limit:65535KB

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档