网站大量收购独家精品文档,联系QQ:2885784924

《ACM培训资料》.doc

  1. 1、本文档共128页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《ACM培训资料》.doc

                目 录 第一篇 入门篇 1 第1章 新手入门 2 1 ACM国际大学生程序设计竞赛简介 2 2 ACM竞赛需要的知识 3 3 团队配合 5 4 练习、练习、再练习 5 5 对新手的一些建议 6 第2章 C++语言介绍 8 1 C++简介 8 2 变量 8 3 C++数据类型 9 4 C++操作符 10 5 数组 12 6 字符数组 13 7 字串操作函数 14 8 过程控制 16 9 C++中的函数 19 10 函数规则 21 第3章 STL简介 22 1 泛型程序设计 22 2 STL 的组成 26 第二篇 算法篇 45 第1章 基本算法 46 1 算法初步 46 2 分治算法 51 3 搜索算法 54 4 贪婪算法 60 第2章 进阶算法 70 1 数论基础 70 2 图论算法 76 3 计算几何基础 93 第三篇 实践篇 106 第1章 《多边形》 107 第2章 《灌溉问题》 110 第3章 《L game》 113 第4章 《number》解题报告 117 第5章 《Jobs》解题报告 119 第6章 《包裹运送》 122 第7章 《桶的摆放》 124 入门篇 练就坚实的基础,总有一天…… 我们可以草木皆兵! 新手入门 ACM国际大学生程序设计竞赛简介 背景与历史 1970年在美国TexasAM大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。1977年,该项竞赛被分为两个级别,即区域赛和总决赛,这便是现代ACM竞赛的开始。在亚洲、美国、欧洲、太平洋地区均设有区域赛点。1995至1996年,来自世界各地的一千多支高校的代表队参加了ACM区域竞赛。ACM大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。 ?竞赛组织 竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。参赛队应首先参加每年9月至12月在世界各地举行的“区域竞赛(Regional?Contest)”。各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“决赛(Final?Contest)”,其它的高分队伍也有可能被邀请参加决赛。每个学校有一名教师主管队伍,称为“领队”(faculty?advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位的学生。每支队伍最多允许有一名选手具有学士学位,已经参加两次决赛的选手不得再参加区域竞赛。 竞赛形式与评分办法 竞赛进行5个小时,一般有6~10道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。 程序运行不正确是指出现以下4种情况之一: (1) 运行出错 (run-time?error); (2) 运行超时 (time-limit?exceeded); (3) 运行结果错误 (wrong?answer); (4) 运行结果输出格式错误 (presentation?error)。 竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括PASCAL,C,C++及Java,也可以使用其它语言。具体的操作系统及语言版本各年有所不同。 竞赛奖励情况 总决赛前十名的队伍将得到高额奖学金:第一名奖金为12000美元,第二名奖金为6000美元,第三名奖金为3000美元,第四名至第十名将各得到l500美元。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。 ACM竞赛需要的知识 编程语言是最重要的基本功 无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,编程语言都是大家要过的第一道关。亚洲赛区的比赛支持的语言包括C/C++与Java。首先说说Java,众所周知,作为面向对象的王牌语言,Java在大型工程的组织与安全性方面有着自己独特的优势,但是对于信息学比赛的具体场合,Java则显得不那么合适,它对于输入输出流的操作相比于C++要繁杂很多,更为重要的是Java程序的运行速度要比C++慢10倍以上,而竞赛中对于Java程序的运行时限却往往得不到同等比例的放

文档评论(0)

wyth + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档