如果你熟悉世界级程序设计竞赛,你一定对Tourist、Petr、ACRush(楼天城)、watashi(巫泽俊)、iwi(秋叶拓哉)、wata (岩田阳一)这些名字不会陌生。他们在TopCoder、ACM-ICPC、GCJ、FHC等世界级的程序设计竞赛中屡次获得冠亚季军,被称为“世界上最聪明的人”。下面让我们来一睹他们的风采。
为什么要参加程序设计竞赛
• 能提高程序设计能力,掌握技巧、减少错误;
• 能结识更多的同好,交流切磋;
• 能更好地推销自己(大赛的前几名往往受到世界知名公司的青睐)。
秋叶拓哉认为:参加程序设计竞赛,是学习、是兴趣、也是人生。
• 学习:参加竞赛能提高各方面能力;
• 兴趣:参加竞赛超级有趣;
• 人生:当我们畅游在程序设计竞赛的世界中时,真可以说竞赛=人生。 即使不能简单将竞赛等同于人生,但竞赛确实给我们的人生带来很大影响。比如我们正将这份对竞赛的痴迷延伸到对算法的研究上。另外,参加竞赛让我结识了许多同好,获得了无与伦比的体验,等等。
★TopCoder
• TopCoder公司举办的程序设计竞赛;
• 参赛者分为不同等级,用不同的颜色区分。2200分以上者为红色,被称为redcoder。现在,全世界有300人达到红色等级,日本有26人。3000分以上者被称为target,全世界有18人,日本有3人,分别是:iwi(秋叶拓哉)、wata (岩田阳一)和lvrically;
• 全球总决赛在美国举行,每年举行一次。
秋叶拓哉在比赛中
岩田阳一在比赛中
TopCoder Open 2011
岩田团队获得TopCoder Open 2010 Marathon 冠军
TopCoder高手中的高手
第3名Petr(Petr Mitrichev,俄罗斯人。现在3489,最高3923。现任职于GOOGLE公司)。
第2名ACRush(楼天城,中国人。现在3511,最高3902。被称为中国大学生计算机编程第一人,原清华大学“姚班”学生,赫赫有名的“楼教主”。2013年毕业,现任职于GOOGLE公司)。
第1名Tourist(Gennady • Tourist • Korotkevich,白俄罗斯人。现在3583,最高3656,他成为世界最强选手时,还是一名高中生……)
这些高手们是怎么取得如此耀眼的成绩的?
答案只有一个:不停地练习!不停地解题!
比如,Tourist解了10000道题。
Q:那么,只要拼命解题就行了吗?
A:不是的,应该
• 选择难易适中,高质量的题目
• 仅仅解题还不够,要总结技巧
Q:是否一个人努力就可以了?还要寻找解题伙伴吗?
A:寻找伙伴是很有必要的。因为大家可以
• 就解法和实现进行讨论
• 互相激发斗志——“一定要将参赛者远远甩在身后”
秋叶拓哉、岩田阳一和北川宜稔就是很好的伙伴。
TopCoder大学排行榜
前三名分别是东京大学、华沙大学和清华大学
★ACM-ICPC
• 美国计算机协会(ACM)主办的面向大学生的对抗赛。
• 始于1970年,历史最悠久,最负盛名。
• 全世界约2000所大学参加、参赛者约20000人以上!
• 3名选手共用1台电脑比赛。
ACM-ICPC比赛现场
浙大计算机学院巫泽俊、欧阳嘉林和数学系莫璐怡同学组成的ArcOfDream队荣获第三十五届ACM-ICPC全球总冠军
东京大学开设ACM-ICPC课程。正是因为这一课程的存在,大家参赛成瘾…… 大一、大二期间,竞赛就是学生们生活的全部
ACM-ICPC亚洲预选赛东京站(2009)
ACM-ICPC全球总决赛(中国哈尔滨,2009)
★Google Code Jam
• Google公司举办的一年一度的程序设计竞赛。
• 全世界参赛者达10000人以上。影响力最大、参赛面最广。
Google Code Jam比赛现场
中国程序设计竞赛第一人楼天城在GCJ比赛中
★Facebook Hacker Cup
• 由Facebook主办的国际性的编程比赛 ,始于2011年。
• Facebook将这次竞赛作为一个重要的人才招募平台,用以吸引优秀的程序设计人员加盟。
Petr 获得首届Facebook Hacker Cup冠军
参赛选手合影,左六为楼天城
历届比赛成绩
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。