数学建模社区-数学中国

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

作者: 尛鳳ル    时间: 2013-7-15 15:26
标题: 最负盛名的程序设计竞赛你都知道吗?
程序设计竞赛有着各种各样的形式,在此,我们来介绍其中最负盛名的几个。# d4 X- I- i: N/ o* R9 ~8 {: ^$ a+ Y
5 A1 F9 I, N& u0 g# N  r
世界规模的大赛——Google Code Jam(GCJ)
# i, }0 k, ?9 T+ @% R; C$ @* S! b' i
1 E5 H7 Y4 R  `. \' T; [它是Google公司几乎每年都会举办的世界规模的程序设计竞赛,参赛者要在2~3小时内解决大约4道题。一旦从在线(Online)进行的几轮预选中胜出,就能够参加现场(Onsite)总决赛。该赛事的特点是,每道题都备有Small和Large两组输入数据。即便是难度系数较大的问题,只要输入规模足够小,依然可以简单地求解,这一形式深受广大参赛者的喜欢。另外,GCJ并不在服务器上自动执行程序,而是要求将源代码和本地执行的结果一同提交。( c" h+ u1 l0 i0 v7 H: u- e  x- d

7 K- f4 Z$ F- I- Y向高排名看齐!——TopCoder
$ k( ~" f) a3 S. d/ Y) p1 ~  D. P/ @
TopCoder公司是一家策划并举办程序设计竞赛的公司,它举办的比赛涉及多个领域。其中之一就是算法(Algorithm)比赛,该赛事大致每周都以SRM(Single Round Match)的形式举办一场,其具有以下特点。4 i0 E" K5 a3 W3 l

: w# d. ?- _" ^8 J  {7 C3 H( t(1) 在1小时15分钟的短时间内挑战3道题。/ u  t; D2 R. {  j7 j& p6 b/ t
6 q) p, A2 T. s' z1 h2 ?, j
(2) 提交的结果在比赛结束前是不知道的,整个过程中稍有失误,就会变成0分。' c9 n: B9 ^0 e4 {2 J  X  y6 g. {
/ ^, r8 h9 v7 B
(3) 在编码阶段(coding phase)结束后,还有一个挑战阶段(challege phase)。该阶段可以查找别人代码中的漏洞。如果能够提供一组输入数据,使别人的程序返回错误的结果,就能得到额外的分数。
2 g& M1 R+ [% v8 b8 s' h2 D- Y$ N8 U4 K& a' s3 F' H; A# |
其中第3条是该赛事独一无二的特点 ,也是阅读别人代码的好机会。TopCoder还有一个深受大家喜欢的等级分系统(rating system),它会依据SRM的结果给参赛选手排名。另外,TopCoder还会举办一年一度的TCO(TopCoder Open)公开赛。一旦从在线进行的几轮预选中胜出,就能够参加在拉斯维加斯 举办的总决赛。
5 ], g2 g2 s/ Z7 X
' L4 d2 e1 w% f* [历史最悠久的竞赛——ACM-ICPC1 G% c2 |, G9 b, z/ g$ M
2 S" E8 `% e, L2 A7 R0 ?" g! A. l& t
ACM-ICPC是由美国计算机协会(ACM)主办的、面向大学生的竞赛,也是历史最悠久的程序设计竞赛。这是一个三人一队的团队比赛,选手要在5个小时内解决大约10道题。因为比赛中三名选手共用一台电脑,题量又比其他赛事多,并且多是一些实现复杂的问题,所以团队配合显得异常重要。想要从日本参加该项赛事,首先要参加在线进行的国内预选赛,胜出后才能参加亚洲区域赛,取得前几名的好成绩后才能够参加世界总决赛。
) A/ |1 q8 _) ?
% Q; S' [2 E, n  ~, O  E讲到ACM-ICPC,不得不提到我们的《挑战程序设计竞赛》(第2版)译者,这颗闪耀在编程竞赛中的明星巫泽俊,就在2011年的5月30下午2时,他获得了第35届ACM国际大学生程序设计竞赛全球总决赛冠军,媒体称他为“世界最聪明的人”。(见下图)
3 U' i/ Q' z* Y4 v2 \* `3 x: S
" G: B6 W" O  s. N
; L1 E. C+ A9 e! [$ c1 R+ l$ r( y5 ~+ N2 G3 {" z
: S: D; w) ^, ^/ b' H" L2 v2 k
% d& r' H* ^# A8 |1 P
巫泽俊平时训练的实验室
% ]+ h, x9 z0 a2 q0 ~4 [2 c+ [3 L" Q. s9 Q: P' Y; `

* @- F' ]/ M* I: ?% ]; J8 d
% x# c& _$ \6 x* ~" i巫泽俊
4 \/ a2 p1 v0 \  f$ U; W$ p& X9 g0 H. q  V4 I% E) N! G0 ]
面向中学生的信息学奥林匹克竞赛——JOI-IOI
* `5 x" ^0 T4 K( l5 P5 Q" ]1 t6 E- c1 [& A' D% i' S
信息学奥林匹克竞赛是学科奥林匹克竞赛的一种,是以初中生和高中生为参赛对象的程序设计竞赛。在日本,首先要参加日本信息学奥林匹克竞赛,取得优异成绩后,才能作为日本国家队选手参加国际信息学奥林匹克竞赛。 其他比赛都需要尽可能快地解决尽可能多的问题,而信息学奥林匹克竞赛只要在规定时间内求解问题即可,成绩与所用时间无关,但是它相对其他比赛而言,求解每道题所花的时间要长得多。虽然是面向中学生的比赛,每年所出问题的难度却是非常高的。) d5 b' I  _2 \  T1 d& c
$ k4 T4 h" `+ S4 K, h
通过网络自动评测——Online Judge(OJ)# g% A. `7 R6 m3 k' t

( `3 Q" t4 i& q! ?# F在互联网上,有一些被称为Online Judge的系统,它们能够自动评测以往程序设计竞赛中的题目。利用该系统就可以练习了。另外,其中一些Online Judge也会定期举办自己的比赛,不妨去参加一下。在此列举几个有名的Online Judge。
' s8 U/ U- W. `' l7 M$ m$ J1 L1 G5 B) L. [* G; i( f& @
PKU Online Judge (POJ)——  题库中有大量的题目。. R( ?0 ]6 _1 q; e8 _- a
会津大学Online Judge(AOJ)—— 还包含日语题。
. x/ _; H- r  M( N. e5 N, W4 p5 uSphere Online Judge(SPOJ)—— 允许使用各种各样的编程语言。
" Z' l1 I: z: Z7 i! N& l; nSGU Online Contester—— 具有模拟参加历史比赛的虚拟赛功能。4 X# ]8 ?) d: F* L! z( d  V8 m
UVa Online Judge—— 老字号Online Judge,经常举办比赛。
4 o9 c8 @1 v' D# ?Codecorces——  与TopCoder一样定期举办比赛,又同其他网站一样不断维护历届题库。
8 p. c6 j* D/ Y- M关于本书: T+ U8 k# f. E# s! A2 H! B* p
1 j& Q. ]0 }0 V
/ V8 Y  _2 W3 T0 ~& y9 |5 b1 w

' C& |& q; A6 u3 L, j' [* k6 N《挑战程序设计竞赛(第2版)》分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由易及难的细致讲解,每章后附有习题。 通过本书不仅可以学到算法,更能学到其设计和运用的思想。4 ^# X9 a% @% ?# i: a9 U
4 w! \9 }2 U: q. w
只要是具有编程基础知识的读者,均适合阅读本书。书中的源代码均用C++实现,不过只用到了其基本功能,所以即便读者不熟悉C++也不影响阅读。9 C7 }& y$ h, \

" b# O$ C) Y+ l+ m. M6 b( o本书的第一版被台湾和韩国引进,获得了一致的好评,让我们看看其他两版的封面风格:), I* |9 K0 U  r# U8 n2 b

, D1 O. M. n. {3 l9 P% b6 q" u  z: P# c0 d  Y: {6 J
" O4 l4 s; r4 O# I* Q, \

作者: 雨季、落花    时间: 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