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

本文主要是介绍中国大学生编程第一人-楼天城 | 世界顶尖黑客、曾被百度、脸书谷歌青睐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有「中国大学生计算机编程第一人」的称号,也被参加竞赛的学子们敬称为「楼教主」。李开复说他是未来推动中国互联网产业发展的中流砥柱!

他的传奇经历一直激励着众多年轻学子

他的老师是美籍华人姚期智院士,而姚教授可不是一般的人类!!

姚期智是图灵奖唯一的华人获奖者,也是世界现代密码学、理论计算机科学、量子计算等领域的奠基人,现任清华大学交叉信息研究院院长。

他于 2004 年辞去普林斯顿大学的终身教职,回国担任清华大学高等研究中心教授,并开设了国内首门计算机理论课程,从根本上夯实了国内计算机本科课程的理论基础。

隔年又创办了如今大名鼎鼎的「姚班」,培养出了一大批中国计算机科学的顶尖人才,其门生早已遍布国内外 AI 产业和计算机科学研究的各个关键领域:中国计算机编程第一人楼天城,还有旷视科技的三位创始人印奇、杨沐、唐文斌都是姚班走出来的学生。

简介

楼天城,1986年出生,高中毕业于杭州十四中。2004年保送进清华大学计算机系,2008年进入全球唯一华人图灵奖(计算机诺贝尔奖)得主姚期智院士领导的清华大学理论计算机中心攻读博士。楼天城是中国公认的大学生计算机编程第一人,经常以一人单挑一个队,在CEOI、ACM界无人不晓其大名,人称“楼教主”。

获奖情况

2001年11月,全国青少年信息学联赛(浙江赛区)一等奖。

2002年8月,全国青少年信息学竞赛三等奖。

2002年10月,全国高中数学联赛(浙江赛区)一等奖。

2002年11月,全国青少年信息学联赛一等奖,浙江赛区第1名。

2003年8月,全国青少年信息学竞赛一等奖,入选国家集训队。

2003年10月,全国高中数学联赛一等奖。

2003年11月,全国青少年信息学联赛一等奖。

2004年5月,国家队选拔赛第一名。

2004年9月,国际信息学奥林匹克竞赛(IOI)金牌。

2005年,百度之星程序设计大赛总冠军。

2006年,蝉联百度之星程序设计大赛总冠军。

2006年,Google全球编程挑战赛第三名。

2006年,TopCoder算法中国区第一名。

2006年,ACM/ICPC中国赛区各站冠军。

2007年,带领清华大学队在ACM/ICPC全球总决赛中获得第二名。

2007年,楼天城开发了Walk(WalkLan)(Walk脚本),构造了我国GIS软件的第一个测绘地理信息脚本语言。

2008年11月14日,Google全球编程挑战赛冠军。

2008年11月23日,临时代替受伤的同学参加ACM/ICPC杭州赛区,力压群雄夺得第一名。

2009年4月21日,再次带领清华大学队在ACM-ICPC全球总决赛中获得第二名,因为罚时,遗憾与冠军失之交臂。

2009年11月,蝉联Google全球编程挑战赛冠军。

2011年1月,在Facebook举办的2011脸书骇客杯世界编程大赛 (Facebook Hacker Cup 2011)获得第三名。

2012年3月,在Facebook举办的2012脸书骇客杯世界编程大赛中再次获得第三名。

曾经风靡大街小巷and老少爷们儿的卡牌桌游——三国杀!就是我楼天城楼教主发明的!!!(别不信,被求证网上热传的「楼天城发明三国杀」真伪时,楼天城表示这是真的,他在清华的三国杀小组里「负责游戏的平衡性检测」,确是发明者之一)

(惊不惊喜?意不意外?)

楼天城是浙江杭州人,曾就读杭州十四中,高中之前,楼天城并没怎么碰过电脑。

但他是一个具有超强理科思维的人,即使是踢球时,也居然会不断计算向对方球门底线带球角度、距离和得分之间的概率关系!

然而,后来他之所以选择计算机编程,不是因为数学太好,恰恰是数学「太差」——他总是在一些枯燥的重复性计算中犯错。

「数学上的计算体力活,如果让一个很会计算的完成,不是更好吗?」

这是楼天城进入编程世界前提出的疑问,也是楼天城在人生程序上的第一个「Hello World」!(「Hello World」几乎是所有程序猿的第一行代码)

他说:

「我喜欢那些学习方式的创意,去告诉计算机要做什么,如何控制它;特别是使用数学去告诉计算机如何解决一个问题。」

(杭州市第十四中学)

在这种「偷懒」思维的驱使下,高一的楼天城加入了计算机小组,试图寻求方法让机器帮助人进行计算。

从小就具有编程思维的他,没几个月就获得了 2002 年全国青少年信息学联赛一等奖,浙江赛区第一名,轰动一时。

2004 年,他更帮助中国队获得国际信息学奥赛(IOI)金牌,这是代表世界中学生程序设计的最高水平。

他理所当然地取得了清华大学的保送资格。清华园的时光,他编写了人生的重要几行代码。

名师出高徒

他是清华大学首届「姚期智班」学生,主要研究领域是组合算法。

(清华大学计算机科学实验班(姚班))

「失败」的美国战役

2006 年,Google Code Jam,楼天城的飞机穿越 13 小时的云层,降落在大苹果纽约市,他急匆匆地赶到了举办比赛的酒店。

(比赛以及下榻之酒店)

这是他第一次参加世界赛事,旅途的劳累令他昏昏入睡,连闹钟设错了也全然不知觉,这似乎为他比赛的失利留下了伏笔。

(选手备赛房间)

比赛总共有三道大题,250 分的题目是一道平面极值问题,500 分的题目是一道反 Hash 函数问题,1000 分的题目是涉及卷积函数和计算反函数的问题。

前期楼天城成绩尚可,三道大题完成后,位居前六。

进入比赛的「Challenge」阶段,戏剧性发生了,楼天城抓住一个挑战他人的机会,并获得成功,一举占据了榜首!

这一次,是他第一次离世界冠军如此接近。

但比赛似乎被刻意设计着,戏剧性继续发挥作用。最后阶段的「系统测试」中,楼天城接二连三掉进坑里,有的 double 用错,有的变量忘记暂存,成绩从「天堂」一下子又掉回了「地狱」,最终排名 50 左右。

比赛结果并不理想,可这似乎没有打击到楼天城,他说,「这两个错误至今仍刻骨铭心!」,经验是赚到了,甚至为后来反攻埋下了原力。

连续两年,中国人包揽冠亚军

由于诸多东欧天才黑客的存在,中国在国际性编程比赛领奖台上最多只占一个位置,直到 2008 年 Google Code Jam,楼天城领衔的中国军团历史性地包揽了冠亚军。

(谷歌全球编程挑战赛宣传海报)

本届比赛,全球超过 11000 名选手参加,最终有 100 位选手闯入在 Google 总部美国山景城举行的总决赛,其中中国选手占了 1/5。

(比赛现场)

比赛总共有 5 道问题,经过 3 个小时的激烈比赛,中国楼天城以 89 最高分,罚时仅 2:57:20 获得冠军,而同样来自中国的朱泽园以 3:10:16 的较长罚时屈居亚军,这是当时中国选手在同级别大赛的重大突破。

(2008 年 Google Code Jam 题目与结果)

2009 年,楼天城再次蝉联冠军,亚军则变成了清华 2009 级漆子超。

(2009 年 Google Code Jam 题目与结果)

在楼天城之前,中国人最高只拿到了亚军,而他之后,至今再无中国人站上冠军领奖台。

当时还是谷歌大中华区总裁的李开复积极评价楼天城等人在编程的突破,认为这些人将是

「未来推动中国互联网产业发展的中流砥柱」。

未来也即将证明他是对的。

「天才与否,取决于最终的高度」

当所有人将「天才之名」冠于其顶时,楼天城对天才做出了自己的定义。

他作为一个理科生是严谨的,他认为天才与否,取决于最终达到的高度。一些事情不过比别人早几年做到,算不上什么天才。

他的字里行间隐隐约约可以看到亚里士多德著名的三段论证明——

大前提:他的一些事不过比别人早几年做到,聪明人迟早能做到,只是时间问题。

小前提:判定天才看的是「最终的高度」,他现在高度不够,没有突破性的成就。

结论:他现在并不是天才。

这就是楼天城「天才理论」的理科式证明。

身居编程界庙堂之高位,却谦逊如入门小儿,为他增添了几分魅力。

这篇关于中国大学生编程第一人-楼天城 | 世界顶尖黑客、曾被百度、脸书谷歌青睐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899286

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.