数学建模社区-数学中国

标题: 最负盛名的程序设计竞赛你都知道吗? [打印本页]

作者: 尛鳳ル    时间: 2013-7-15 15:26
标题: 最负盛名的程序设计竞赛你都知道吗?
程序设计竞赛有着各种各样的形式,在此,我们来介绍其中最负盛名的几个。* {2 a5 J9 E  b" f! H* B/ R
& b' ]" O$ n7 P7 [
世界规模的大赛——Google Code Jam(GCJ)
" z; `- ?, f* k! S& R1 I6 W& u2 x/ I! {
它是Google公司几乎每年都会举办的世界规模的程序设计竞赛,参赛者要在2~3小时内解决大约4道题。一旦从在线(Online)进行的几轮预选中胜出,就能够参加现场(Onsite)总决赛。该赛事的特点是,每道题都备有Small和Large两组输入数据。即便是难度系数较大的问题,只要输入规模足够小,依然可以简单地求解,这一形式深受广大参赛者的喜欢。另外,GCJ并不在服务器上自动执行程序,而是要求将源代码和本地执行的结果一同提交。
& V/ p+ r/ R) M/ `2 `; q5 Y# D8 w0 n4 M
向高排名看齐!——TopCoder2 X0 c- v  n% ~+ H- r
1 l8 b3 q5 [) ^" x7 ~2 l3 s* V
TopCoder公司是一家策划并举办程序设计竞赛的公司,它举办的比赛涉及多个领域。其中之一就是算法(Algorithm)比赛,该赛事大致每周都以SRM(Single Round Match)的形式举办一场,其具有以下特点。
4 n' X* j9 }( o9 m8 T1 g
# W4 W. n/ ?+ K& e. [7 @(1) 在1小时15分钟的短时间内挑战3道题。
& E* ~, \+ H8 P8 o9 S3 t) f4 t& `$ g6 ^' J3 x& I- Z. H( e
(2) 提交的结果在比赛结束前是不知道的,整个过程中稍有失误,就会变成0分。
' H( c: W; S7 w5 ~. M; w) V
7 [: c6 V/ v3 e; @0 B# }(3) 在编码阶段(coding phase)结束后,还有一个挑战阶段(challege phase)。该阶段可以查找别人代码中的漏洞。如果能够提供一组输入数据,使别人的程序返回错误的结果,就能得到额外的分数。
: N5 `+ r3 K+ F9 M; G) @5 z- k: b$ }3 d
其中第3条是该赛事独一无二的特点 ,也是阅读别人代码的好机会。TopCoder还有一个深受大家喜欢的等级分系统(rating system),它会依据SRM的结果给参赛选手排名。另外,TopCoder还会举办一年一度的TCO(TopCoder Open)公开赛。一旦从在线进行的几轮预选中胜出,就能够参加在拉斯维加斯 举办的总决赛。
. r! x& X% D' O6 Y# h+ i. l0 V
# m# V8 q( |  s: F历史最悠久的竞赛——ACM-ICPC. x# F3 E" M) V- r  B9 `& @) S
$ `, n" p2 @: }, m- W
ACM-ICPC是由美国计算机协会(ACM)主办的、面向大学生的竞赛,也是历史最悠久的程序设计竞赛。这是一个三人一队的团队比赛,选手要在5个小时内解决大约10道题。因为比赛中三名选手共用一台电脑,题量又比其他赛事多,并且多是一些实现复杂的问题,所以团队配合显得异常重要。想要从日本参加该项赛事,首先要参加在线进行的国内预选赛,胜出后才能参加亚洲区域赛,取得前几名的好成绩后才能够参加世界总决赛。
$ }2 B0 D- Z6 c
' C: x% _3 `8 F& w4 h& _讲到ACM-ICPC,不得不提到我们的《挑战程序设计竞赛》(第2版)译者,这颗闪耀在编程竞赛中的明星巫泽俊,就在2011年的5月30下午2时,他获得了第35届ACM国际大学生程序设计竞赛全球总决赛冠军,媒体称他为“世界最聪明的人”。(见下图)
1 |; q- U7 C+ D! p$ j" @( j; f
3 a5 A9 {4 N& d4 {1 E
3 b9 V, V- p4 \2 j  Q# I8 O0 ?5 w1 x! z* U* |# N  c
# r. S+ v/ O3 [8 j! N

1 j( Z6 E% k! Y. E5 X; d巫泽俊平时训练的实验室0 ?$ A4 d" @/ _7 L3 D! H/ i

9 X. W& a  T  r/ S& }0 i+ L/ W2 Y# p
3 w# h( l" R$ G
巫泽俊0 C/ C9 x8 k8 r% _% W; C; @
7 O$ o3 H& m0 p& i) D5 A! c
面向中学生的信息学奥林匹克竞赛——JOI-IOI
$ o9 q$ Q* I9 L8 C
- t+ ~6 f# [5 m  w/ @信息学奥林匹克竞赛是学科奥林匹克竞赛的一种,是以初中生和高中生为参赛对象的程序设计竞赛。在日本,首先要参加日本信息学奥林匹克竞赛,取得优异成绩后,才能作为日本国家队选手参加国际信息学奥林匹克竞赛。 其他比赛都需要尽可能快地解决尽可能多的问题,而信息学奥林匹克竞赛只要在规定时间内求解问题即可,成绩与所用时间无关,但是它相对其他比赛而言,求解每道题所花的时间要长得多。虽然是面向中学生的比赛,每年所出问题的难度却是非常高的。
' K/ C' U' Y4 J' M& g
( g0 `3 _" t5 F" d+ Y7 H9 Y: L通过网络自动评测——Online Judge(OJ)
; G- K9 B2 w0 a
2 p- V$ [& s5 }( t在互联网上,有一些被称为Online Judge的系统,它们能够自动评测以往程序设计竞赛中的题目。利用该系统就可以练习了。另外,其中一些Online Judge也会定期举办自己的比赛,不妨去参加一下。在此列举几个有名的Online Judge。$ P! S8 a" G% w4 R
1 R" m4 E. _3 f; U9 g. Q
PKU Online Judge (POJ)——  题库中有大量的题目。0 p; T  Z. r" w: a
会津大学Online Judge(AOJ)—— 还包含日语题。8 l  s: Y6 ?: S, G; Z" ^$ v8 |" ~
Sphere Online Judge(SPOJ)—— 允许使用各种各样的编程语言。
0 P+ i& @9 u# _* x4 o$ N/ @) tSGU Online Contester—— 具有模拟参加历史比赛的虚拟赛功能。
; m4 @" a6 ]1 {0 d4 @- J+ Z! O/ yUVa Online Judge—— 老字号Online Judge,经常举办比赛。2 |0 ^* `2 x  j* j5 y
Codecorces——  与TopCoder一样定期举办比赛,又同其他网站一样不断维护历届题库。; ]% E1 }1 T) e/ K, e% {/ F5 u2 I- E
关于本书
" a, \5 {5 Z: A- {" \/ e/ V  n: a. D$ `% R( T
/ m1 S! B) O( r$ t  c. q

7 W- Q% r' d4 }# \5 M8 O《挑战程序设计竞赛(第2版)》分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由易及难的细致讲解,每章后附有习题。 通过本书不仅可以学到算法,更能学到其设计和运用的思想。
6 L6 j- Q/ H/ D' L6 ?1 X
% |4 a$ `! y. Y# I  k; R7 P1 ]只要是具有编程基础知识的读者,均适合阅读本书。书中的源代码均用C++实现,不过只用到了其基本功能,所以即便读者不熟悉C++也不影响阅读。7 {3 u7 q' {! U* U# Y

% b1 _9 q  O  ^本书的第一版被台湾和韩国引进,获得了一致的好评,让我们看看其他两版的封面风格:)# B' @9 R- u3 n; L- T
# C, \. E0 X6 J% D& P3 j# n0 f$ D% R

5 T% i3 j. Q2 E3 T* n, ~; U! H4 h7 l
6 S2 x3 C1 s, I$ b0 j
作者: 雨季、落花    时间: 2013-7-18 10:17
最富盛名的程序设计竞赛!
作者: Harry_    时间: 2013-7-19 21:10
还真不知道
作者: joycezhou    时间: 2013-7-23 14:53
不是那个浙大的女生被称为“世界最聪明的人”




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5