| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1753 人关注过本帖
标题:最近我迷上了做ACM题了
只看楼主 加入收藏
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 

[QUOTE]ACM/ICPC是由美国计算机学会(ACM,Association for Computer Machinery)组织的国际大学生程序设计竞赛(ICPC,International Collegiate Programming Contest)的简称,开始于1977年,每年举办一次,2000年3月份在美国Florida,Orlando举办了第24届。这是一项充分显示大学生计算机程序设计水平的世界级大赛。
各参赛队先参加各大区在每年10月-11月间的预赛(Regional Contests)获得决赛权, 在第二年的2月-3月间参加决赛(World Finals)。竞赛是采用封闭式(连续5小时)上机编程解6到8道题形式,试题与现实生活密切相关,现场考核大学生程序设计水平以及运用能力,竞赛评审是采用严格的实时数据测试方式,每题提交的答案必须通过全部的测试数据才算完成。
每个队(3名队员,至少两名undergraduate student)共用1台联网电脑,题目是全英文命题,题目的难度和知识广度都比较高。
我国从1997年开始由上海大学承办ACM/lCPC亚洲区预赛,今年(2002年)主要是在北京清华大学,时间是10月25日,持续三天。亚洲赛区的题目由一些亚洲区的大学和工业界人士出题。


二、比赛形式
ICPC的竞赛形式是以三人小组为单位,现场上机解题并提交。比赛时间一般为5小时,题目6-10道。比赛时,每个队只有一台电脑,因此团队分工配合很重要。做出题目后将源代码提交给裁判组,并能在几分钟后得知此题是否通过。如果未通过,可以继续修改程序并提交,每道题提交次数不限。
最终排名先按做对题数排。做对题目相同的队,计算所做对题目通过时间的总和,总和小的队排名在前。另外,若所做对题目若多次提交才通过,每一次未通过的提交要加20分钟罚时。
举例说,若某队做出三题,分别在第100分钟,150分钟和第200分钟。且第2题提交两次才通过,其它两题一次通过。那么这个队的
所做对题目通过时间的总和=100+150+200+20=470
可见,做题速度和准确度都会影响成绩,但做出题数还是最重要的。

三、赛题形式
赛题为英文,每题相互独立。从形式上看,每题是完全一样的。先是题目描述,再是对输入、输出数据的详细的格式描述。最后是样例输入输出。有几点需要注意:
1. 题目描述中可能包括问题的背景。但这一般对题目的实质没有影响,所以即使对 背景完全陌生,只要仔细读题,一般都是可以理解题意的。所以不要被各式各样的背景所吓倒。
2. 输入输出都是文本格式。题目对输出的要求很严格,输出必须与格式描述一点不差算通过,你不能自己随意添加或减少空格、换行。
3. 每道题都有运行时间和内存的限制,你的程序不能超过此限制。

四、对知识和技能的要求
可以看出,赛题形式十分单一。可以概括得说,做每道题的过程就是按要求读入一个文本文件,处理数据,再输出到另一个文件中的过程。 但在这种统一的形式下,题目的内容却是五花八门,解题涉及的知识面相当广,对个人理解、分析问题的能力和程序设计的技能要求很高。队员的团队合作能力也很重要。
下面是对这些知识/技能点的不完全概括:
1. 数据结构
包括链表、栈、队列、树、图等的实现与应用。其中图牵涉的内容很多,需要单独分一类。
2. 基本算法
包括排序、查找、递归、深度广度优先搜索,以及实现数据结构操作中的各种算法等。
3. 图论
最基本要掌握的是最短路径和最小生成树算法。这也是最常用的。而后,还有二分图匹配和网络流问题等。

(以上几点牵涉到最基本的编程技能训练,也是新队员训练的重点。而接下来的一些知识点更多得牵涉到数学方面的内容,其程序实现相对简单,但每一条目所包含的内容更多,以至于每一条都有可能是某一单独的学科,如数论、组合数学等。都值得仔细研究。而在时间有限的情况下,我们只能引用这些学科的某些结论。)

4. 动态规划
这是一种分阶段解决问题的思想,具体实现与递推很类似。有很多题需要用这种思想。但解题没有固定模式,需要自己认真思考。
5. 数论&组合数学
这是两门单独的学科,而且都各自有着庞大的体系(特别是数论)。之所以写在一起,只是因为我们所关心的是属于这两门学科的许多很零散的知识点。如有关同余、质数的一些结论,以及许多组合问题的结论和推导方法等。相对来说,组合数学要更容易些,很多结论自己也可以推出。
7. 计算几何
与几何有关的问题。最基本的有判断直线相交、求多边形面积等。
还有很多知识点没有列出。需要指出的是,这些知识点的分类并非题目的分类。很多题目涉及不只一个知识点。做题时,需要综合运用这些知识。而对于新队员,知识结构不完整并不要紧,重要的还是勤于思考问题。这些知识的补充也是因人而异,每个人可以根据训练情况和自己的特点有选择的重点研究某一方面,不必面面俱到。
[/QUOTE]

偶不是做广告的说


汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-09-18 21:51
zjq9931
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-11
收藏
得分:0 
谢谢.
2006-09-19 17:08
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
收藏
得分:0 

偶E文很差,看不懂啊!如果有中文试题就好了


我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2006-09-20 09:13
快速回复:最近我迷上了做ACM题了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028264 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved