数学建模社区-数学中国

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

作者: 尛鳳ル    时间: 2013-7-15 15:26
标题: 最负盛名的程序设计竞赛你都知道吗?
程序设计竞赛有着各种各样的形式,在此,我们来介绍其中最负盛名的几个。
3 e  h6 C3 R4 y. a2 {* x( ]  @! G: ~& @8 Q* H$ A% i$ `
世界规模的大赛——Google Code Jam(GCJ)0 P4 F' D4 f- Q1 A- ]' X/ o

+ `! N8 C& c/ @3 Y它是Google公司几乎每年都会举办的世界规模的程序设计竞赛,参赛者要在2~3小时内解决大约4道题。一旦从在线(Online)进行的几轮预选中胜出,就能够参加现场(Onsite)总决赛。该赛事的特点是,每道题都备有Small和Large两组输入数据。即便是难度系数较大的问题,只要输入规模足够小,依然可以简单地求解,这一形式深受广大参赛者的喜欢。另外,GCJ并不在服务器上自动执行程序,而是要求将源代码和本地执行的结果一同提交。+ {7 O! h9 Z4 J, l/ b# s9 H
5 H- a3 n0 w* S. x, N% n0 [- s% d8 _
向高排名看齐!——TopCoder
- M  t5 l) N) s
- H9 G+ |3 F- @" O6 q6 o# aTopCoder公司是一家策划并举办程序设计竞赛的公司,它举办的比赛涉及多个领域。其中之一就是算法(Algorithm)比赛,该赛事大致每周都以SRM(Single Round Match)的形式举办一场,其具有以下特点。
, y6 A2 a3 `, f/ S: ]5 E' S* H0 \0 l3 L# b( X6 S( C0 P
(1) 在1小时15分钟的短时间内挑战3道题。
$ I" v8 `8 L# ]( m9 K
" s& l5 {5 I# w  u. o( ^(2) 提交的结果在比赛结束前是不知道的,整个过程中稍有失误,就会变成0分。; [- f: @, `2 j1 l; O

+ k9 r, ]9 h$ `% t(3) 在编码阶段(coding phase)结束后,还有一个挑战阶段(challege phase)。该阶段可以查找别人代码中的漏洞。如果能够提供一组输入数据,使别人的程序返回错误的结果,就能得到额外的分数。
; K7 d9 ~, O  u- J( N
3 {- X0 R# t! V, X6 q其中第3条是该赛事独一无二的特点 ,也是阅读别人代码的好机会。TopCoder还有一个深受大家喜欢的等级分系统(rating system),它会依据SRM的结果给参赛选手排名。另外,TopCoder还会举办一年一度的TCO(TopCoder Open)公开赛。一旦从在线进行的几轮预选中胜出,就能够参加在拉斯维加斯 举办的总决赛。4 i$ _8 c* m8 }* D

) }& m% v3 @6 D) s2 l: `+ {历史最悠久的竞赛——ACM-ICPC
# v) t. y% R9 X
% W- j1 r. }! s. e# D9 kACM-ICPC是由美国计算机协会(ACM)主办的、面向大学生的竞赛,也是历史最悠久的程序设计竞赛。这是一个三人一队的团队比赛,选手要在5个小时内解决大约10道题。因为比赛中三名选手共用一台电脑,题量又比其他赛事多,并且多是一些实现复杂的问题,所以团队配合显得异常重要。想要从日本参加该项赛事,首先要参加在线进行的国内预选赛,胜出后才能参加亚洲区域赛,取得前几名的好成绩后才能够参加世界总决赛。" ]$ k2 n; W% {
% B3 k8 X0 N. Q$ R1 `
讲到ACM-ICPC,不得不提到我们的《挑战程序设计竞赛》(第2版)译者,这颗闪耀在编程竞赛中的明星巫泽俊,就在2011年的5月30下午2时,他获得了第35届ACM国际大学生程序设计竞赛全球总决赛冠军,媒体称他为“世界最聪明的人”。(见下图)/ z& f% j+ u6 p2 |! ^

" ~8 ^1 ?: ]7 [% u/ b( ?' Q2 O/ M8 A: N$ E1 [
* R9 H- F$ S  H5 i, h  m8 h

0 P* H& x4 p2 U* p& w. T
$ ?1 @. R* M6 }巫泽俊平时训练的实验室
- E; E# B. g' _! o/ \3 L; O1 p4 c- U9 c+ M  L2 n/ l
2 v& N. M* Q  _
- i+ O  [) j8 d$ s* S4 J+ @/ \
巫泽俊9 w) A8 e% V8 ~+ H2 A, P4 ]! u6 h* \) `& |
0 F3 u, {7 K9 {8 e, Z7 v
面向中学生的信息学奥林匹克竞赛——JOI-IOI& G  `/ n5 x' t3 B. K; B3 D

  I' y2 H0 `, d% P' x7 I信息学奥林匹克竞赛是学科奥林匹克竞赛的一种,是以初中生和高中生为参赛对象的程序设计竞赛。在日本,首先要参加日本信息学奥林匹克竞赛,取得优异成绩后,才能作为日本国家队选手参加国际信息学奥林匹克竞赛。 其他比赛都需要尽可能快地解决尽可能多的问题,而信息学奥林匹克竞赛只要在规定时间内求解问题即可,成绩与所用时间无关,但是它相对其他比赛而言,求解每道题所花的时间要长得多。虽然是面向中学生的比赛,每年所出问题的难度却是非常高的。. F, d7 D: i5 `! R
" w9 h7 a5 @# y7 a! @  @7 H7 c$ Z
通过网络自动评测——Online Judge(OJ)7 f- D1 I4 m) f! G* l

5 x* n) [6 v: Y6 S7 e在互联网上,有一些被称为Online Judge的系统,它们能够自动评测以往程序设计竞赛中的题目。利用该系统就可以练习了。另外,其中一些Online Judge也会定期举办自己的比赛,不妨去参加一下。在此列举几个有名的Online Judge。
1 O4 ?8 c" k' y8 I- @) Q+ z6 b2 k# s, X$ k$ }5 {) K7 V
PKU Online Judge (POJ)——  题库中有大量的题目。) ]/ U5 t" ^" h
会津大学Online Judge(AOJ)—— 还包含日语题。
6 O4 i) v( b  s' J1 a3 _+ |! B1 iSphere Online Judge(SPOJ)—— 允许使用各种各样的编程语言。
, @8 I& M% b; T( g. ?SGU Online Contester—— 具有模拟参加历史比赛的虚拟赛功能。% \0 V2 t$ h' T$ M7 F3 c& e
UVa Online Judge—— 老字号Online Judge,经常举办比赛。, F8 N/ N; M2 J) d( P
Codecorces——  与TopCoder一样定期举办比赛,又同其他网站一样不断维护历届题库。
/ B) c, v8 u5 i1 z关于本书/ b; g+ A9 s6 H. ?3 \! h
  [" A9 \8 V/ U  U6 b
4 Z! {1 s- a8 k- q. ~6 f

9 g5 W* Z; V( y* o3 `% `! C《挑战程序设计竞赛(第2版)》分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由易及难的细致讲解,每章后附有习题。 通过本书不仅可以学到算法,更能学到其设计和运用的思想。; z' t" s9 _+ a- g) \

: X2 u8 s" I3 |2 x* w9 Q3 e2 i只要是具有编程基础知识的读者,均适合阅读本书。书中的源代码均用C++实现,不过只用到了其基本功能,所以即便读者不熟悉C++也不影响阅读。1 T; u- [, R! w

( G3 l/ i. k( S, {* O本书的第一版被台湾和韩国引进,获得了一致的好评,让我们看看其他两版的封面风格:)/ G- e; {3 U0 a' z9 z9 O* X" F+ D: F

" z3 U$ z0 T9 l5 Y6 ]/ F  x* w
+ D8 i& x8 P. H& z4 m& i3 z# C  x5 E

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