数学建模社区-数学中国

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

作者: 尛鳳ル    时间: 2013-7-15 15:26
标题: 最负盛名的程序设计竞赛你都知道吗?
程序设计竞赛有着各种各样的形式,在此,我们来介绍其中最负盛名的几个。
" N3 z% D$ X3 H  A+ r% }& D0 v( c
8 E/ K* a2 a  A: {/ Y世界规模的大赛——Google Code Jam(GCJ)
+ Z9 S6 T# c* v# g& t6 N9 Z- H9 S5 h5 O2 `
它是Google公司几乎每年都会举办的世界规模的程序设计竞赛,参赛者要在2~3小时内解决大约4道题。一旦从在线(Online)进行的几轮预选中胜出,就能够参加现场(Onsite)总决赛。该赛事的特点是,每道题都备有Small和Large两组输入数据。即便是难度系数较大的问题,只要输入规模足够小,依然可以简单地求解,这一形式深受广大参赛者的喜欢。另外,GCJ并不在服务器上自动执行程序,而是要求将源代码和本地执行的结果一同提交。7 d7 N$ y4 x" o. ^* l. r

; j0 J. h1 t" P' z0 p3 u向高排名看齐!——TopCoder
: v. n; @3 ?  |' d
1 B) C# v+ p5 b6 RTopCoder公司是一家策划并举办程序设计竞赛的公司,它举办的比赛涉及多个领域。其中之一就是算法(Algorithm)比赛,该赛事大致每周都以SRM(Single Round Match)的形式举办一场,其具有以下特点。; ?$ a. J9 V4 X9 b( X+ P
/ O& l. Y/ Z+ E6 K; Q$ l  U% n0 g
(1) 在1小时15分钟的短时间内挑战3道题。
. J$ l/ j; {& M( w  Y0 v( e& ^+ N8 `0 W7 z! z
(2) 提交的结果在比赛结束前是不知道的,整个过程中稍有失误,就会变成0分。' C$ D5 T- u" b) O
0 u; D- w9 J  \% T. }# X* H# s
(3) 在编码阶段(coding phase)结束后,还有一个挑战阶段(challege phase)。该阶段可以查找别人代码中的漏洞。如果能够提供一组输入数据,使别人的程序返回错误的结果,就能得到额外的分数。
! i' q- D" x- P) v  a3 y$ q) D! s3 ?5 K* l- E, c
其中第3条是该赛事独一无二的特点 ,也是阅读别人代码的好机会。TopCoder还有一个深受大家喜欢的等级分系统(rating system),它会依据SRM的结果给参赛选手排名。另外,TopCoder还会举办一年一度的TCO(TopCoder Open)公开赛。一旦从在线进行的几轮预选中胜出,就能够参加在拉斯维加斯 举办的总决赛。
1 C9 f2 m0 R  ~
2 b7 J1 E1 v) R: l3 b历史最悠久的竞赛——ACM-ICPC
9 e- D! L- m, U5 A* O
; e" G! X6 i1 CACM-ICPC是由美国计算机协会(ACM)主办的、面向大学生的竞赛,也是历史最悠久的程序设计竞赛。这是一个三人一队的团队比赛,选手要在5个小时内解决大约10道题。因为比赛中三名选手共用一台电脑,题量又比其他赛事多,并且多是一些实现复杂的问题,所以团队配合显得异常重要。想要从日本参加该项赛事,首先要参加在线进行的国内预选赛,胜出后才能参加亚洲区域赛,取得前几名的好成绩后才能够参加世界总决赛。
" h( s2 Y& i6 x7 N' ^9 {( V9 G7 J- q: m- |& v0 D
讲到ACM-ICPC,不得不提到我们的《挑战程序设计竞赛》(第2版)译者,这颗闪耀在编程竞赛中的明星巫泽俊,就在2011年的5月30下午2时,他获得了第35届ACM国际大学生程序设计竞赛全球总决赛冠军,媒体称他为“世界最聪明的人”。(见下图)7 T2 [  s1 i1 K6 z

! R1 c2 E' `9 P8 y7 K0 |1 T* p/ ~4 k' {
7 C+ l" E! S0 _( ^& R

+ J/ g5 u2 \, Q4 j6 s( ]2 I: H
2 `# O! n) U# z8 B% X巫泽俊平时训练的实验室0 ], `% ~2 E* f  L
; t5 H% K/ Y% s+ I$ `

4 `1 {" M! w* t7 b. u( V7 }0 O) K( e. Q* ]0 L+ ~) Y7 h
巫泽俊: x5 ]! F5 T6 n, b9 k

7 ^/ _" K: h: [( m" P2 g面向中学生的信息学奥林匹克竞赛——JOI-IOI( ~2 C& q& L: p$ i' i

/ n/ v# E) i+ w0 i" ]' Y4 I信息学奥林匹克竞赛是学科奥林匹克竞赛的一种,是以初中生和高中生为参赛对象的程序设计竞赛。在日本,首先要参加日本信息学奥林匹克竞赛,取得优异成绩后,才能作为日本国家队选手参加国际信息学奥林匹克竞赛。 其他比赛都需要尽可能快地解决尽可能多的问题,而信息学奥林匹克竞赛只要在规定时间内求解问题即可,成绩与所用时间无关,但是它相对其他比赛而言,求解每道题所花的时间要长得多。虽然是面向中学生的比赛,每年所出问题的难度却是非常高的。
8 W, [- T; c- R6 A) N; d, a; l
) U! S- p$ l0 ]  L. j通过网络自动评测——Online Judge(OJ)
+ t. p. q' g( X5 `
6 P2 h. F3 X# l# X% S$ @: E2 e9 e" @在互联网上,有一些被称为Online Judge的系统,它们能够自动评测以往程序设计竞赛中的题目。利用该系统就可以练习了。另外,其中一些Online Judge也会定期举办自己的比赛,不妨去参加一下。在此列举几个有名的Online Judge。
3 d- ]" a0 g# K7 ?8 w7 c6 b
3 O; ~; U  O9 j. z( R% ]8 e+ G) m" KPKU Online Judge (POJ)——  题库中有大量的题目。
, E, E3 K1 j+ f) i) ?" A% N会津大学Online Judge(AOJ)—— 还包含日语题。
7 L2 Q5 B! Q1 d/ b9 F. w- LSphere Online Judge(SPOJ)—— 允许使用各种各样的编程语言。
6 P! j1 A% g8 Y; C7 Q+ `" cSGU Online Contester—— 具有模拟参加历史比赛的虚拟赛功能。
; g% F2 c6 e& H( iUVa Online Judge—— 老字号Online Judge,经常举办比赛。" e% j( {& Y- |  t
Codecorces——  与TopCoder一样定期举办比赛,又同其他网站一样不断维护历届题库。
8 P9 j+ y% R: `" ~7 P9 p; a关于本书! X0 k+ N9 r/ }4 X

" Y5 {) w0 U$ C) R/ t2 C2 J% J
: {8 U/ P/ C7 b
- W) m7 a# d' N* `. ^《挑战程序设计竞赛(第2版)》分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由易及难的细致讲解,每章后附有习题。 通过本书不仅可以学到算法,更能学到其设计和运用的思想。  b" |! W  R, x& B  W# v
+ ]6 U, _% O: Q+ S4 T- ]
只要是具有编程基础知识的读者,均适合阅读本书。书中的源代码均用C++实现,不过只用到了其基本功能,所以即便读者不熟悉C++也不影响阅读。, V) z& ^6 M+ ]3 b) p- j

- j! G$ ]$ j& n1 J2 q本书的第一版被台湾和韩国引进,获得了一致的好评,让我们看看其他两版的封面风格:)
5 q' S0 s2 }2 I& `( R6 i) M( f0 c5 w# S9 V) D, ?

: f: B- S+ j/ E1 V% d5 P( R  V  l& L

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