如果你熟悉世界级程序设计竞赛,你一定对Tourist、Petr、ACRush(楼天城)、watashi(巫泽俊)、iwi(秋叶拓哉)、wata (岩田阳一)这些名字不会陌生。他们在TopCoder、ACM-ICPC、GCJ、FHC等世界级的程序设计竞赛中屡次获得冠亚季军,被称为“世界上最聪明的人”。下面让我们来一睹他们的风采。

为什么要参加程序设计竞赛

• 能提高程序设计能力,掌握技巧、减少错误;
• 能结识更多的同好,交流切磋;
• 能更好地推销自己(大赛的前几名往往受到世界知名公司的青睐)。

秋叶拓哉认为:参加程序设计竞赛,是学习、是兴趣、也是人生。

• 学习:参加竞赛能提高各方面能力;
• 兴趣:参加竞赛超级有趣;
• 人生:当我们畅游在程序设计竞赛的世界中时,真可以说竞赛=人生。 即使不能简单将竞赛等同于人生,但竞赛确实给我们的人生带来很大影响。比如我们正将这份对竞赛的痴迷延伸到对算法的研究上。另外,参加竞赛让我结识了许多同好,获得了无与伦比的体验,等等。

★TopCoder

• TopCoder公司举办的程序设计竞赛;
• 参赛者分为不同等级,用不同的颜色区分。2200分以上者为红色,被称为redcoder。现在,全世界有300人达到红色等级,日本有26人。3000分以上者被称为target,全世界有18人,日本有3人,分别是:iwi(秋叶拓哉)、wata (岩田阳一)和lvrically;
• 全球总决赛在美国举行,每年举行一次。

enter image description here
秋叶拓哉在比赛中
enter image description here
岩田阳一在比赛中

enter image description here
TopCoder Open 2011

enter image description here
岩田团队获得TopCoder Open 2010 Marathon 冠军

TopCoder高手中的高手

第3名Petr(Petr Mitrichev,俄罗斯人。现在3489,最高3923。现任职于GOOGLE公司)。
enter image description here

第2名ACRush(楼天城,中国人。现在3511,最高3902。被称为中国大学生计算机编程第一人,原清华大学“姚班”学生,赫赫有名的“楼教主”。2013年毕业,现任职于GOOGLE公司)。
enter image description here

第1名Tourist(Gennady • Tourist • Korotkevich,白俄罗斯人。现在3583,最高3656,他成为世界最强选手时,还是一名高中生……)
enter image description here

这些高手们是怎么取得如此耀眼的成绩的?

答案只有一个:不停地练习!不停地解题!

比如,Tourist解了10000道题。
enter image description here

Q:那么,只要拼命解题就行了吗?
A:不是的,应该
• 选择难易适中,高质量的题目
• 仅仅解题还不够,要总结技巧

Q:是否一个人努力就可以了?还要寻找解题伙伴吗?
A:寻找伙伴是很有必要的。因为大家可以
• 就解法和实现进行讨论
• 互相激发斗志——“一定要将其他参赛者远远甩在身后”
秋叶拓哉、岩田阳一和北川宜稔就是很好的伙伴。

TopCoder大学排行榜

enter image description here
前三名分别是东京大学、华沙大学和清华大学

★ACM-ICPC

• 美国计算机协会(ACM)主办的面向大学生的对抗赛。
• 始于1970年,历史最悠久,最负盛名。
• 全世界约2000所大学参加、参赛者约20000人以上!
• 3名选手共用1台电脑比赛。

enter image description here
ACM-ICPC比赛现场

enter image description here
浙大计算机学院巫泽俊、欧阳嘉林和数学系莫璐怡同学组成的ArcOfDream队荣获第三十五届ACM-ICPC全球总冠军

enter image description here
东京大学开设ACM-ICPC课程。正是因为这一课程的存在,大家参赛成瘾…… 大一、大二期间,竞赛就是学生们生活的全部

enter image description here
ACM-ICPC亚洲预选赛东京站(2009)

enter image description here
ACM-ICPC全球总决赛(中国哈尔滨,2009)

★Google Code Jam

• Google公司举办的一年一度的程序设计竞赛。
• 全世界参赛者达10000人以上。影响力最大、参赛面最广。

enter image description here
Google Code Jam比赛现场

enter image description here
中国程序设计竞赛第一人楼天城在GCJ比赛中

★Facebook Hacker Cup

• 由Facebook主办的国际性的编程比赛 ,始于2011年。
• Facebook将这次竞赛作为一个重要的人才招募平台,用以吸引优秀的程序设计人员加盟。

enter image description here
Petr 获得首届Facebook Hacker Cup冠军

enter image description here
参赛选手合影,左六为楼天城

历届比赛成绩

2011年
第一名:Petr Mitrichev,正确解决一个问题,用时1小时15分钟;
第二名:Anh Tuan Khuc,正确解决一个问题,用时1小时20分钟;
第三名:楼天城,正确解决一个问题,用时1小时36分钟。
2012年
第一名:来自俄罗斯的Roman Andreev,正确解决一个问题,用时1小时4分钟;
第二名:来自美国的Tomek Czajka,正确解决一个问题,用时1小时5分钟;
第三名:楼天城,正确解决一个问题,用时1小时44分钟。
2013年
第一名:Petr Mitrichev;
第二名:Jakub Pachocki;
第三名:Marcin Smulewicz。


对程序设计竞赛感兴趣的朋友可关注这本书:《挑战程序设计竞赛(第2版)》
enter image description here
购买链接: http://product.dangdang.com/product.aspx?product_id=23272528

作者
★秋叶拓哉
Google Code Jam 2010 第9名
ACM-ICPC World Finals 2012 第11名
TopCoder Open 2012 Algorithm 第4名
昵称iwi

★岩田阳一
Google Code Jam 2009 第3名
TopCoder Open 2010 Marathon 冠军
IPSC 2010 个人组 冠军
昵称wata

★北川宜稔
ACM-ICPC World Finals 2010第16名
昵称kita_masa

译者
★巫泽俊
ACM-ICPC World Finals 2009 第6名
ACM-ICPC World Finals 2011 冠军
Google Code Jam 2012 第7名
昵称watashi和rejudge

★庄俊元
ACM-ICPC Asia Phuket Regional 2011 冠军
2012年跻身ACM-ICPC World Finals以及百度Astar总决赛
昵称navi和navimoe

★李津羽
浙江大学2011级计算机系博士生
在浙大CAD&CG实验室从事科研工作