关于ACM-ICPC竞赛
概况
ACM国际大学生程序设计竞赛(ICPC)的历史可以上溯到1970年,当时美国德州A&M大学举办了首届竞赛,主办方是UPE计算机科学荣誉协会Alpha分会。作为一种发现和培养计算机科学这一新兴领域顶尖学生的全新方式,竞赛很快得到了美国和加拿大多所大学的积极响应。
1977年,首届ICPC总决赛在ACM计算机科学会议期间举行,并由此演变成一项多级竞赛。此后,ACM担任竞赛主办方,并于1989年将大赛总部设在了美国德克萨斯州的贝勒大学。从此,该竞赛逐渐发展成了一个举办区域预赛选拔参赛队伍参加ACM-ICPC全球决赛的全球大学网络。
1997年,IBM成为竞赛的赞助方。IBM的加盟促使竞赛的规模扩大了七倍。参赛人数显著增加,涉及来自六大洲83个国家1,821所大学数万名计算领域的顶尖学生和教师。
竞赛提倡创新和团队协作,鼓励学生在构建全新的软件程序时尽情发挥创意,帮助学生检验自己在强压力下的工作能力。简而言之,它是全球历史最悠久、规模最大且最负盛名的程序设计竞赛。
总决赛整个竞赛为5个小时10道题,由计算机出题,3人一组的参赛队伍必须现场作答。经由裁判评判,根据破解试题数目的多少对参赛队伍进行排名,解题数在中等以下的队伍会得到确认但不会进行排名。根据排名将最终确定全球总决赛铜奖4名、银奖4名、金奖4名,金奖中第1名为此次比赛的全球总冠军。每届ACM/ICPC竞赛都是精英荟萃、新才辈出,因而倍受全球著名信息企业的高度关注,在过去几年中,APPLE、AT&T、MICROSOFT和IBM分别担任了竞赛的赞助商。
ACM/ICPC是世界各地计算机程序设计者大显身手的舞台,也是世界一流大学展现教育成果的最佳窗口。中国大陆高校从1996年开始参加ACM国际大学生程序设计竞赛亚洲预赛,上海交通大学作为最早参加的高校之一,曾七次进军ACM/ICPC全球总决赛,并在2002年赢得了在夏威夷举办的第27届ACM/ICPC全球总决赛冠军,这是中国大学的第一次夺冠,更是亚洲高校的第一次夺冠。上海交大还于2005年获得由上海交大承办的第29届ACM的冠军。
1 背景与历史
1970年在美国texas a &m大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。1977年,该项竞赛被分为两个级别——区域赛和总决赛,这便是现代acm竞赛的开始。在亚洲、美国、欧洲、太平洋地区均没有区域赛点。1995至1996年,来自世界各地的一千多支s代表队参加了acm区域竞赛。acm大学生程序设计竞赛由美国计算机协会(acm)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。
2 竞赛组织
竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。参赛队应首先参加每年9月至11月在世界各地举行的“区域竞赛(regional contest)”。各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“决赛(final contest)”,其它的高分队伍也有可能被邀请参加决赛。每个学校有一名教师主管队伍,称为“领队”(faculty advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位并已读完至少一半时间的学生。每支队伍最多允许有一名选手具有学士学位(就是说至少有两个还没有取得学士学位),已经参加两次决赛的选手不得再参加区域竞赛。
3 竞赛形式与评分办法
竞赛进行5个小时,一般有6—8道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。程序运行不正确是指出现以下4种情况之一:
(1)运行出错(run-time error);
(2)运行超时〔time-limit exceeded);
(3)运行结果错误(wrong answer);
(4)运行结果输出格式错误(presentation error)。
竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括pascal,c,c++及java,也可以使用其它语言。具体的 *** 作系统及语言版本各年有所不同。
4 竞赛奖励情况
总决赛前十名的队伍将得到高额奖学金:第一名奖金为12000美元,第二名奖金为6000美元,第三名奖金为3000美元,第四名至第十名将各得到l500美元。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。
脑力之争
竞赛规定每支参赛队伍由三名在校大学生组成,他们需要在规定的五个小时内解决八个或更多的复杂实际编程问题。每队使用一台电脑,参赛者争分夺秒,与其他参赛队伍拼比逻辑、策略和心理素质。
团队成员将在多名专家裁判的严格督察下通力合作,对问题进行难度分级、推断出要求、设计测试平台并构建软件系统,最终成功地解决问题。对于一名精通计算机科学的学生而言,有些问题只是精确度的问题;而有些则需要学生了解并掌握高级算法;还有一些问题是普通学生无法解决的,不过对于那些最优秀的学生而言,这一切都不在话下。
竞赛的评判过程十分严格。我们分发给学生的是问题陈述,而不是要求须知。他们会收到一个测试数据实例,但无法获得裁判的测试数据和接受标准方面的信息。若每次提交的解决方案出现错误,就会受到加时惩罚。毕竟,在处理顶级计算问题时,谁也不想浪费客户的时间。在最短的累计时间内,提交次数最少、解决问题最多的队伍就是最后的胜利者。
IBM的承诺
在IBM所开展的众多学术活动中,赞助ACM-ICPC赛事占有十分重要的位置。此举旨在促进开放源代码编程技巧的发展,培养更具竞争力的IT工作人员,从而推动全球创新和经济增长。
关于ACM
ACM(美国计算机协会)是一家科教性质的协会,旨在联合全球计算机领域的教学人员、研究人员和从业人员,开展行业交流活动、共享资源和解决业界难题。凭借绝对的领导地位,ACM始终致力于推行最高行业标准,表彰杰出技术人才,加强计算机行业的整体队伍建设。ACM通过为成员提供终生学习、职业发展及与专业人士联谊的机会,支持其在各自的专业领域取得长足进步。
ACM-ICPC 2008简介
第32届ACM国际大学生程序设计竞赛(ICPC)又名“脑力之争”(Battle of the Brains),其举办宗旨是为大学生提供一个集中的展示舞台,表现他们在五个小时的指定时间内解决实际电脑编程问题的超强能力。
2007年9月-12月全球已经有来自83个国家1,821所大学的6,700支参赛队伍参加了预赛(分213个赛场举行),预赛结束后仅有100支参赛队伍闯入全球总决赛。全球总决赛将于2008年4月6日-10日在位于加拿大阿尔伯塔省的班夫温泉城堡饭店举行。
对于世界一流大学的计算机科学与工程专业的精英学生而言,这无疑是他们获得奖品、奖金、奖学金和展示权的大好时机。
这一年度盛事由下列几级比赛组成:
-本地竞赛——各大学挑选参赛队伍,或在本校范围内举办比赛选拔一支或几支队伍代表学校参加下一级比赛。选拔范围为全球30多万名计算机专业的学生。
-区域预赛(2007年9月-12月)——今年的参赛队伍增加了10%(其中不包括参加初赛的队伍),从去年的6,099支增加到了6,700支。这些队伍代表来自六大洲83个国家的1,821所大学。
-全球总决赛(2008年4月6日-10日,加拿大阿尔伯塔省的班夫温泉城堡饭店)——为庆祝阿尔伯塔大学成立一百周年,一百(100)支决赛队伍将代表六大洲的顶级大学参赛,角逐奖品、奖金和展示权。
如欲了解历届竞赛信息,以及去年的最终排名和试题集,请访问:www-304.ibm.com/jct09002c/university/students/contests/acm/index.html 上的ACM官网链接或icpc.baylor.edu/past/default.html
原创哦~我的观点:
第一阶段:先刷水题,水题,就是几乎不牵扯算法。需要自己想方法解决。
这样的题,一是锻炼 逻辑思维和思维的严谨,二是锻炼代码能力(写的代码越来越长而错误越来越少,看别人很长的代码很快就能看明白对方的思路,这些都是代码能力)
代码能力不够直接学习算法 会非常吃力了。。
在各大OJ刷200道水题,这样算是入门了吧。。:(推荐去HDOJ因为这上面的水题比较多,适合新手入门,第11页,第16很多中文水题)。越到实在是做不出来的题就放放。。
第二阶段:渐渐的学一些简单的算法。。
HDOJ的论坛上有的课件,水题刷的差不多了,看着课件(课件有些得放写的不是很详细,可以去百度 这方面的资料),学一些基础算法,继续刷题。。。。。
第二阶段刷到400.。
第三阶段: 在第二阶段的基础上继续纠结算法。 这时候可以看算法导论了。学习数据结构。继续刷题。。
刷到600.。
算法导论看完之后楼主可以去看看 刘汝佳的黑书(算法艺术与信息学竞赛)。
如果楼主能坚持到这时候,那算是一个牛了。。
之后楼主应该就知道该怎么走了。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)