我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈

25岁的楼天城有“中国大学生计算机编程第一人”的称号,也被参加竞赛的学子们敬称为“楼教主”。他的传奇经历一直激励着众多年轻学子:从2001年开始参加计算机编程竞赛,并连获全国一等奖;2004年入选国家集训队,同年获得IOI金奖并被保送到清华大学;2008年开始在首位亚裔图灵奖获得者姚期智院士的理论计算机中心攻读博士;2007年和2009年两次带队参加ACM/ICPC全球总决赛并获得第二名。《程序员》近日专访了编程奇才楼天城,让他与我们分享一下他传奇的编程竞赛之路。

记者:请简单谈谈你的童年经历。童年哪些人、哪些事对你的影响最大?

楼天城:小时候,我比较爱玩,并不怎么喜欢学习。后来在8岁那年,我跟随父母一起到清华大学游玩。身处中国的最高学府,我不自觉地受到了感染,当时就给自己定下了童年的第一个目标——要在学习上投入更多的精力,严格要求自己,将来一定要到清华大学读书。这是童年中对我影响最大的一件事儿。经过十年的努力,现在这个愿望已经实现了。

父母是童年时代对我影响最大的人,他们特别注重对我心理、性格等素质的培养,而不是局限于学业。他们认为高素质对人的影响远远超过学习能力的影响。在高中我能如愿参加各项编程竞赛,也离不开父母的支持,但前提是数学等智力科目不会受到影响。这类竞赛并不属于高考科目,而且势必会对学业产生一定影响,如果没有父母的支持,参加竞赛这条路是走不通的。父母的支持支撑着我一直在竞赛这条路上走下去。另外,我比较喜欢各种棋类,还喜欢踢足球。棋类可以锻炼人的思维,而运动也会培养人的思考能力。小时候我就考虑,向对方球门底线带球(如果是向球门带球,一定是越向前越好),球门与球的角度是越变越大还是越变越小;往前带球,这个角度是越大越好,还是越小越好。经过计算后,我发现把球带到某个地方时,角度是最大的,再往前带就会变小,而这个地方就是射门的最佳位置。结论是:这个最大的角度与距球门的距离有关。

记者:你是什么时间开始接触编程的?在学习编程过程中,都开发过哪些应用?

楼天城:我从高一开始学习编程相关知识。编程对于高中生来说,确实是一门特别的科目。我所开发的应用中印象比较深刻的是黑白棋。当时在联众的游戏平台上,它有90%的胜率。最初设计的黑白棋只能搜索到六层,它的“棋艺”并不理想,当时很多此类的黑白旗游戏也能做到这一步。为了突破这一局限,我研究了各种优化技术、博弈算法及搜索技术,对算法进行了优化,使原来的搜索增加了四层,它的计算能力、博弈水平也随之提高了很多,一时很多人都难以胜过它。虽然这个游戏并没有像李开复当年写的黑白棋那么优秀,但对我来说,还是蛮有成就感的。另外,我还做过很多其他的应用,但大多是实现一些涉及核心的关键问题,并没有作为产品公布出来。

记者:你第一次参加编程竞赛是什么时间?在之后的竞赛经历中,遇到了哪些挑战?

楼天城:2006年,我第一次参加编程竞赛,是Google编程挑战赛。由于一个失误,我与冠军擦肩而过。大赛结束后,我非常沮丧。后来在父母和老师的鼓励下,我下定决心要再等机会,赢取冠军。

两年后,直到2008年,我才有机会再次参加Google编程挑战赛,并在最后8分钟赶超了当时领先于我2小时52分的南非选手,获得了冠军。这次大赛对我来说可以算作一次真正的挑战。

记者:2010年举办的topcoder公开赛,你取得了一个不错的成绩,对此有什么感受?

楼天城:topcoder公开赛是世界范围内一年一度的编程大赛,2010年在赌城拉斯维加斯举行。我参加的其中两项不同的比赛都进入了决赛,一项是24小时的类似马拉松的Coding比赛,另一项是算法编程。这次比赛比较可惜的是,在最后决赛阶段犯了一个小小的错误,而滑到了亚军的位置。以后再有同样的机会,争取能够获得更好的成绩。

记者:请谈一下现在读博的感受。

楼天城:我从2008年开始在姚期智院士领导的清华大学理论计算机中心攻读博士学位,现在还处于学习和提高阶段,研究方向主要是以组合算法为主。总之,很幸运能够得到姚院士的指导,这段时光注定将成为我人生中最重要的阶段之一,我会用心努力做好每一天。

记者:除了编程竞赛,你之前还参加过很多数学方面的竞赛。有些人认为编程与数学没有太大的关系,你怎么看?

楼天城:可能是我们所遇到的问题不太一样吧。我遇到的问题多侧重于核心部分,往往比较抽象,对效率要求也很高,要解决它们,必须有深厚的数学基础,从这个方面来说对数学要求还是非常高的。

记者:你怎样看待编程竞赛?对有志于投身编程竞赛的人有何建议?

楼天城:编程竞赛是一个“公平、刺激、酷”的脑力游戏,除了能获得乐趣之外,还能很好地锻炼自己的思维,磨炼坚韧随和的性格。参加了多次竞赛,我真实地体会到它的残酷性。编程竞赛是顶尖高手之间全方位素质的较量,即使一时的状态不佳,也会让你与冠军失之交臂,最终换来的将是几年的漫长等待。但也相当刺激、公平。这也是我喜欢它的主要原因。我感觉自己很幸运,能够接触到这些编程竞赛。这种比赛形式,完全符合我的思维方式。在这十多年来,无论在思维的培养还是对性格的磨炼上,它对我都起了很大的作用。

至于建议,像我们这些靠理性思维来解决问题的人,平时过于依赖自己的计算能力,不相信定式、经验之类的东西。而实际情况却是,有一些凭借经验才能做到的事情,我们做得不够好,只是想当然地以为计算等于一切,结果却与目标相差很远。所以有很多非智力因素也需要去掌握。否则,你可能会因此而落后于他人。这算是我的一个建议。

另一个建议就是不要把参加竞赛当作上大学的一个途径。竞赛可以帮助你提高自学能力和综合素质,锻炼思维能力,也可以帮助你提高其他科目,但平时一定要注意协调好竞赛与其他科目之间的关系,不要把其他科目落下,不要让竞赛成为影响正业的事情。

中国大学生计算机编程第一人楼天城访谈相关推荐

  1. 我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈

    25岁的楼天城有"中国大学生计算机编程第一人"的称号,也被参加竞赛的学子们敬称为"楼教主".他的传奇经历一直激励着众多年轻学子:从2001年开始参加计算机编程竞 ...

  2. 中国大学生编程第一人-楼天城 | 世界顶尖黑客、曾被百度、脸书谷歌青睐

    有「中国大学生计算机编程第一人」的称号,也被参加竞赛的学子们敬称为「楼教主」.李开复说他是未来推动中国互联网产业发展的中流砥柱! 他的传奇经历一直激励着众多年轻学子 他的老师是美籍华人姚期智院士,而姚 ...

  3. 楼天城:中国大学生计算机编程第一人

    从楼天城到"楼教主":我更享受竞赛本身的快乐 5月12日晚8点多,在全球著名的在线编程竞赛平台--TopCoder的网络聊天室内,新增了一群来自中国的虚拟ID,他们正在热火朝天地用 ...

  4. 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶...

    作者 | 年素清 责编 | 王晓曼 封图 | CSDN付费下载自东方IC 出品 | CSDN(ID:CSDNnews) 他被公认为"大学生计算机编程第一人",是全球顶级黑客,是To ...

  5. 中国公认的大学生计算机编程第一人:楼天城

    楼天成 求助编辑百科名片 楼天成 楼天城,清华大学毕业生,是目前中国公认的大学生计算机编程第一人,经常以一人单挑一个队,在IOI.ACM界无人不晓其大名,人称为楼教主.TopCoder全球第一,虎视T ...

  6. 培华学院2012届计算机专业多少人,西安培华学院学子在中国大学生计算机设计大赛中取得多个国奖...

    国际在线陕西频道消息:近日,由教育部高等学校计算机科学与技术指导委员会.教育部高等学校计算机基础课程指导委员会.教育部高等学校文科计算机基础教学指导委员会联合主办的2018年(第11届)中国大学生计算 ...

  7. 西安音乐学院人计算机学院,西安音乐学院.我校5部作品“中国大学生计算机设计大赛”获奖...

    2018年8月26日-30日,第11届中国大学生计算机设计大赛计算机音乐创作类决赛在浙江音乐学院举行.我校首次组队参赛,现代音乐学院5位同学作品经层层遴选入围决赛,并在全体评委出席的公开决赛答辩中脱颖 ...

  8. 西安音乐学院人计算机学院,现代音乐学院5部作品在“2018年(第11届)中国大学生计算机设计大赛”中荣获佳绩...

    二等奖: <混沌>音乐创作:王一卜.李铭(指导教师:周媛) 视频创作:赵丹(指导教师:任蕾) 三等奖: <森林精灵>音乐创作:高晋阳(指导教师:白皓) <因为梦想> ...

  9. 计算机设计大赛海洋世界,中国大学生计算机设计大赛《海之殇》作品创作过程及特色研究...

    滕小涵 高文宇 刘凡甄 [摘 要]以中国大学生计算机设计大賽数字媒体图形图像类优秀作品<海之殇>为例,结合社会海洋生态问题现状,分析作品的创作背景,探讨在创意设计方法上如何可以更直观地表达 ...

最新文章

  1. ordfilt2函数功能说明
  2. 操作系统学习:启动进入实模式
  3. fckeditor编辑器上传文件出现invalid Request问题解决
  4. 复现经典:《统计学习方法》第 9 章 EM 算法及其推广
  5. TLS/SSL 工作原理及握手过程详解
  6. mysql序列increment_MySQL 序列 AUTO_INCREMENT
  7. 操作系统中的多级队列调度
  8. 打造具有物联网基因的现代化商业银行
  9. 插画类引导页设计灵感|友好结合,总能带给人惊喜~
  10. CSS学习笔记 -- Position(定位)
  11. 机器人教练走进驾校_“机器人教练”走进镇江驾校
  12. html5豌豆上的公主,豌豆上的公主阅读练习及答案
  13. 分类问题:如何解决样本分布不均衡
  14. 图片去水印免费软件哪个好?这几款软件值得一看
  15. git 推送出现 “fatal: The remote end hung up unexpectedly“ 解决方案
  16. 学计算机怎么介绍自己的产品,商品基本描述
  17. 【MySQL】MySQL中如何对数据进行排序
  18. css文字怎么显示在一起,css如何让文字成排显示
  19. 自定义控件学习之钟表制作
  20. 数据可视化作品有哪些

热门文章

  1. CSS 网页字体最佳实践
  2. 基于pythonarcpy的批量CAD/dwg文件转shp/shapefile
  3. 时频分析:短时傅里叶变换(1)
  4. webinspect导出报告选择项
  5. 国外WEB漏洞扫描系统测评对比详情
  6. 决策树算法介绍(ID3算法和CART算法)
  7. .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)...
  8. ajax 分页 php,phpajax分页一_PHP教程
  9. 软件缺陷主要包含哪些要素?
  10. Surface book2 1060显卡性能较低的解决方法