发生在字节跳动的这场编程强者竞技,最终由北京大学的同学拿了第一。
刚过去的五一假期,在字节跳动中航广场,105位来自全国各大名校的编程高手上演了一场代码江湖争霸赛。
这是字节跳动传统项目「Byte Camp 冬令营」中的一个环节。在经历了4天的集训后,选手们按照ICPC(国际大学生程序设计竞赛)赛制,3名选手组队,但只能用一台电脑,要在5个小时内解出12道编程题。
从预选赛中脱颖而出的35支国内队伍中,不仅有清华大学、北京大学、复旦大学、上海交通大学、浙江大学等国内名校,还有南京外国语学校、杭州学军中学、人大附中等高中竞赛强校,几乎搬来了国内竞赛圈的半壁江山。
而在国外,还有来自俄罗斯、日本、美国、白俄罗斯、波兰等国的队伍通过线上接入的方式参赛。
其中清华大学姚班、智班和信息与计算科学三大院系都有队伍参与。
值得一提的是,2020年的ICPC世界总决赛由于疫情延期后,还有两位为了筹备总决赛加入冬令营的选手已经大学毕业,入职字节跳动。
这些选手们平均年龄只有20岁,年纪最小的只有15岁,还是高一的学生,他们之中的绝大部分都曾在全国青少年信息学奥赛(NOI)上争金夺银,很多已经成功冲击国际信息学奥赛(IOI),还有不少是数学/信息学奥赛双料选手。
根据比赛及整个Byte Camp 冬令营各环节的成绩排名,最终有12支队伍获奖:
排名第一的「逆十字」队伍,三位队员目前就读于北京大学计算机专业。
三位队员中,周雨扬出身于竞赛名校绍兴一中,他是NOI 2019全国冠军,IOI 2020世界第三,也是当年的国家队队长。
孔朝哲,NOIP 2017满分选手,NOI 2018金牌选手,入选国家集训队。
潘骏跃,NOI 2019金牌选手,同样入选国家集训队。
国家集训队,意味着至少是当年信息学竞赛的全国高中生里Top 50的选手。有了这样的成绩,三位同学没有一位参加过高考,全部保送北大。
这支战队成立后,还获得了ICPC 2020南京赛区冠军、CCPC 2020长春站冠军等多场比赛冠军,迅速成为了一支竞赛圈知名战队。
在冬令营第6天的正式比赛里,北京大学「逆十字」是全场第一个解出题目的队伍,只用5分钟就解出了第一道题。按照ICPC的惯例,队伍每解出一道题,就会获得一只气球。本场比赛中,每道题第一个解出的队伍会获得一支金色的气球做标记,并获得额外奖金。
比赛中刚刚成功提交第一道题的北大「逆十字」队员
除了「逆十字」队伍之外,获得本次比赛金牌的还有:
获得第二名的队伍「有一说一确实」,来自人大附中,其队长邓明扬数学和信息学两门竞赛都进了国家集训队 ,现在已经拿到了麻省理工学院(MIT)的offer。
这支队伍去年也曾参加ByteCamp,虽然队员们都在读高中,主要参加的是OI信息学奥赛而非大学生为主的ICPC类赛事,对计算几何等ICPC题目并没有丰富的经验,但数学竞赛的思维帮他们在比赛中解决了很多难题。
他们对信息学、编程类竞赛都有极大的热情,在学业繁重的高中,即使放学后他们也会去学校机房做题,周末也会上网找更多竞赛题目的资源。
「有一说一确实」成员邓明扬、许庭强接受采访
第三名则是来自有“半数英才聚清华,清华半英在姚班”之称清华姚班的队伍「三个顶俩」。三位队员中,朱震霆曾取得IOI 2018全球第三的成绩,王修涵也是IOI 2019银牌选手,闫书弈则是NOI 2017全国冠军。三人成军后又获得了ICPC 2020 EC-Final(亚洲区域总决赛)冠军,在之前的Byte Camp中也获得过第二名的成绩。
这支队伍的队员都对竞赛有极大热情,成员王修涵虽然被队友开玩笑称为天才,但他说比赛主要靠的还是勤学苦练的卖油翁精神,“高中参加竞赛时,同届做题比我多的,我数都数得出来。”
他们也是北大「逆十字」的老对手,在正式比赛开始后的20分钟左右,他们密集地成功解出3道题,实现暂时反超。
比赛开始后20分钟,清华「三个顶俩」暂居第一
第四名南京外国语学校队伍「Repigeon」,也是本届Byte Camp预选赛第一,三位队员中戴江齐曾获得数学竞赛CMO 2020金牌,入选国家集训队,今年只有15岁,是Codeforces 3000分以上年纪最小的选手;王泽远和吕秋实则获得了NOI 2020金牌。
在正式比赛中,南外「Repigeon」是第一个成功解出6道题的队伍,和上面的清北两支队伍轮番占据第一的位置。
南外「Repigeon」正在参加赛前集训
最终,北大「逆十字」、清华「三个顶俩」和「小万邦」三支队伍都完成了10道题,如果解题数量相等,根据提交错误代码的次数,罚时更少的队伍更靠前。
结合冬令营整体活动更多项目的比分,北大「逆十字」夺得了本场比赛第一名。
当然,比赛并非这场冬令营的全部。
Byte Camp 冬令营是字节跳动针对ICPC竞赛举办的训练营活动,自2018年起举办了3届。此外,还有活动形式更为丰富的夏令营。
受邀嘉宾之一、浙江大学ACM金牌教练王灿教授在赛后采访时分享了一个有趣的故事:
王灿教授觉得,国内选手普遍缺少赛前集训切磋的平台,每年只有一次能在决赛上见到其他国家的选手。在ICPC 2018世界总决赛时,王教授就有想法将竞赛强校莫斯科物理技术学院(MIPT)的集训模式引入中国。 字节跳动彼时也在积极寻找合作方,在王教授的引荐下,字节跳动和MIPT迅速达成合作。
自此开始,Byte Camp 冬令营的定位就是为冲击ICPC世界总决赛的各国选手们提供训练和交流的平台,提升ICPC参赛者的水平。已经结束的3届冬令营均邀请已经入围总决赛的世界各地最强的队伍参赛,其中就包括MIT。
这次冬令营的教练之一陈靖邦也觉得,日本参赛选手近年成绩突飞猛进,正是因为其国内的集训制度搞得好。这几年,中国国内选手也有了这样的交流平台,我国的竞赛水平也在提高。
本届冬令营联合俄罗斯Moscow Workshops共同举办,虽名为冬令营,但因为疫情原因,延期到五一举行。
除了前文提到的王灿教授外,参与本届冬令营的还有哈尔滨工业大学ACM主教练孙大烈教授、清华大学ACM主教练邬晓均教授、北京航空航天大学ACM主教练宋友教授、北京邮电大学ACM主教练杨亚教授、杭州电子科技大学ACM教练刘春英教授,他们都是各大ACM名校战队掌舵人。
在比赛之前,冬令营请到了非常豪华的教练团队为参赛选手进行了为期4天的培训,讲解ICPC经典赛题。
教练们在计算机科学领域和竞赛圈儿也是鼎鼎大名,都是前几届World Final大牛选手:
来自清华大学的杜瑜皓,IOI 2015 金牌、TCO 2017全球总冠军、CCPC 2018全国总冠军
来自北京大学的吉如一,ICPC 2018全球总决赛第三名
2017、2018年两次带队闯入ICPC全球总决赛的陈松扬,目前就读于浙江大学
来自佐治亚理工学院的陈靖邦,ICPC 2017区域赛冠军、ICPC 2018全球总决赛选手
总之,这就是一场OI/ICPC圈儿大型面基现场。
对于夺冠的北大「逆十字」队伍来说,这场比赛是他们备战ICPC世界总决赛前平稳心态的一役。
队员周雨扬说,目前团队虽然在训练赛中表现优异,但往往正式参赛就会因为状态不好而失误频出,影响比赛心态。借此次Byte Camp的竞赛来训练,他们既不会像正式比赛一样因为关心名次而紧张、背负太大压力,又可以获得真实的比赛体验,是非常宝贵的经验。
对他们来说,这是头一次经历大顺风而又差点被翻盘的宝贵经历。
而在赛前的训练中,他们得以和经验丰富的教练及各队伍交流,也遇上了不会做的题,发现了此前练习的盲区。
正如王灿教授所说,办ICPC赛制的比赛,一方面要有高质量题目,一方面要有优秀的队员,只有和最优秀的人在一起训练,才能给自己最大的促进:“全世界最优秀的选手在面临疫情冲击时,都希望有优质的训练和比赛活动,Byte Camp是他们最好的机会之一。”
冠军队伍「逆十字」也是看到了这一点,他们此前就关注过,觉得阵容非常强大。周雨扬说,Byte Camp聚集了一大群强队一起训练,其他的比赛不会有这样长达6、7天的训练营,机会非常难得。
比如在不久前的ICPC EC-Final中,他们输给了老对手清华大学的「三个顶俩」,遗憾屈居第二,这场Byte Camp给了他们和老对手pk的机会。
而冬令营中,往届选手的指导也是十分重要的一环。闯入ICPC 2018全球总决赛、作为教练参加的陈靖邦说,国内竞赛最缺的是教练的指导,这也是他加入Byte Camp的原因,对于参赛选手来说,不仅要会做题,还要判断不同题目难易、观察对手、做出合理决策,这才是ICPC这项竞赛的魅力所在。
和全球优秀选手共同学习、同场竞技,这也与字节跳动「和优秀的人做有挑战的事」的人才理念不谋而合。Byte Camp也将持续为以竞赛参与者为代表的计算机人才提供技术交流的平台,帮优秀的人提高实力、共同进步。
现在,冠军队伍的三位同学,除了准备ICPC世界总决赛之外,也准备朝着ICPC竞赛教练、企业实习、计算机科学研究等更丰富的方向发展。
王灿教授说,Byte Camp这一批选手属于整个时代最聪明最努力的那一群人,他们会和一般学生有不同的成长路径。过去十年,信息学竞赛的很多学生都成为了卓有成就的计算机科学家或科技创业者。多年后,Byte Camp 选手们一定会成为十分出色的人物。
最后预告:
Byte Camp 夏令营,即将开始报名!
8月1日-6日,Byte Camp 夏令营将招募120名全球高校学生,在推荐/广告/搜索、机器人、机器学习、自然语言处理、计算机视觉、语音技术、高性能计算、网络技术、音视频、计算机体系结构、计算机软件工程、安全、存储等13个技术方向展开学习研究。
参与学生有机会与全球学术界领军人物及字节跳动技术专家们深度接触,和全球各高校实验室同学共同交流。
获取后续活动详情及报名信息,记得关注「字节跳动技术范儿」。