前言
于 NOI2020 后写下本文。
本文简单提及了在写作时尚能回忆起来的,在我的 OI 生涯中对我的影响重大的人、事、比赛等。
写作本文,旨在在回忆允许的范围内,对 OI 生涯进行一定程度上的梳理,总结。
开端
入门
我最早接触计算机程序设计,是在小学。
那时候,我的数学成绩不错,就被老师推荐去学习编程。
就这样,我在局前街小学的何静老师的指导下,走上了编程的道路。
小学时的编程,与其说是 “竞赛” ,不如说是 “兴趣班” 。
当时,包括我在内,很多小孩子天性是浮躁的。支撑我对着无聊的代码学下去的,并不是对程序的兴趣,而是上了一两节课之后,发现自己总能轻松取得第一,碾压哪怕是初中生的,胜利的快感。
正是这样的好胜心支持着我把课后没有作业的一个个夜晚投入到在 Online Judge 上做题目,一点一点爬到排行榜第一。这也是造就我日后的 OI 之路的根本原因。
Scratch
除了当时学习的竞赛语言 Pascal ,小学时的我还热衷于一款叫做 Scratch 的编程软件。
图形化的界面是小孩子天然的朋友,我也曾投入无数的时间与 Scratch 快乐地玩耍,自己编写过二三十个小游戏,还有我当时引以为豪的 Kill The Ball 系列,曾受到过许多同学的好评。
竞赛篇
常外
在兴趣班中展露头角后,我很快受到了常州的竞赛教练秦新华老师,和曹文老师的注意。
得益于他们的栽培,我在常州外国语学校的信息特长生考试中,以绝对的优势拿下了第一,以特长生的身份升入了我的初中,常州外国语学校。
从此,我的信息竞赛之路正式起航。我依稀记得曹文老师在我还很小的时候的一次聚会上便对我父母说过 “他将来是清华的人。” 初中时的竞赛是在课余抽时间学的,我的周末总是要比一般同学少去一半。平心而论,我的确付出了许多努力,初一得到省赛一等奖,初二得到高中组一等奖,初三进入省队,签约清华。也正是这样一步步取得的成就鞭策着我不断向前,走上一条不同于常人的路。
NOIP 2014
NOIP 2014 是我第一次参加比赛,也是真正意义上参加「信息学竞赛」的开始。
NOIP (National Olympiad in Informatics in Provinces) 全称全国青少年信息学奥林匹克联赛,是一场全国统考,省内评奖的,由中国计算机学会举办的程序设计竞赛。按照难度, NOIP 分为普及和提高两个组,我当时参加的是较为简单的普及组,也顺利地拿下了普及组的一等奖。
NOIP 2015
等到 NOIP 2015 的时候,我和其他几个已经得到一等奖的同学就被老师推荐去参加提高组了。
应该说,年仅初二的我在初出茅庐的情况下,面对众多的高中选手,还是拿不出自信的。不过,在 day1 比完之后,我发现我居然可以做出两道题,并且第三题《斗地主》也可以写出像样的搜索来。这倒是给我增添了一些信心。
在 NOIP 2015 的 day2 ,我唯一一次在正式的比赛中提交了一个 MLE 的程序,丢掉了一道题的分数。赛后很失落,觉得因此丢掉了一等奖,不过后来发现,我其实压线拿下了提高组一等奖。
在这个一等奖的保证下,我不再需要担心升学的问题,而是可以免笔试自招进入我如今的高中。
Review 2016
2016 年,我从初二升入初三,也逐渐涉足省选难度的算法。
在这一年中,除了再次拿下了 NOIP 2016 的提高组一等奖外,我也尝试了一些全国性的赛事。听学长说, CTSC (China Team Selection Competition) 的题目太难,我就没有报名,而只报名参加了 APIO (Asia-Pacific Informatics Olympiad) ,也是第一次体验了 IOI 赛制的乐趣。
这场 APIO 中,我虽然对传统题毫无头绪,只是分别得到了 7 分和 9 分的成绩,但却当场通过了放在第三题位置的一道交互题,在许多学长的震惊中拿下了一块银牌。首次参加全国比赛就拿下了银牌,自然是很高兴。不过,其实回望我的整个竞赛生涯,我也没有拿到过银牌以下的成绩。
WC 2017
WC (Winter Camp) 2017 是我第一次在全国比赛中得到金牌。那时考的三道题目区分度都不是太好,我每道题写一个暴力,加起来 87 分的总成绩居然还比金牌线高了 10 分。
其实在现在的我看来,这样的来的一块金牌并不能反映出我当时的水平已经不错,不过,对于当时初三的我来说,一块全国排名 27 的金牌,也足以给予我莫大的激励和信心了。
我事后了解到,在 WC 2017 后,北大的招生老师曾打电话给曹文老师,希望能和我降至一本线录取的自主招生协议。不过被曹老师拒绝了,因为他相信,我能做到的不止于此。
THUWC 2017
由于在 NOIP 2016 的成绩较为突出,我得以参加 THUWC 2017 ,也就是清华大学的信息学自主招生冬令营。在这场比赛中,如果成绩突出,并且通过面试,就能够直接签到自主招生的降分协议。
不过,我当时的水平其实并没有很高,也没能在这场比赛中脱颖而出。虽有不甘,但我也借此看到的两点,一是我和更高水平选手之间的差距,二则是,上清华的梦想,似乎离我很近。
JSOI 2017
JSOI (Jiangsu Olympiad in Informatics) 就是江苏省选,选出的省队将能够代表江苏参加当年的 NOI (National Olympiad in Informatics) 。 当时省队并没有如今的诸多限制,初中生也是可以进队的。
JSOI 2017 的题目是由江苏自主命制的,总共 4 套, 12 题。作为省选难度的比赛, JSOI 2017 是很难的。正因如此,几乎很少有人在 JSOI 2017 中取得高分。在这 12 题中,我当时仅仅通过了一道用后缀数组优化动态规划的题目,其余题目的得分都不算高,不过,谨遵曹文老师 “尽可能得分” 的教诲,我在这 4 场比赛的得分均达到了三位数,也借此以第 9 名的成绩入选了当年的江苏省队。
THUSC 2017
省选结束后,表现出色的学生又会收到清华和北大的自主招生夏令营的邀请。
相比 THUWC 2017 , THUSC 2017 的题目简单了许多,我也当场取得了好几道题的高分。
但在 THUSC 2017 的第二试的比赛中,我也因为考虑失误丢掉了一道题的 50 分。在当时的我看来,我应该已经因此无缘降分协议。但出乎我预料的是,我在考完接到了面试的通知,并且面试官也并没有问出让我为难的问题,整个面试过程如同聊天一样轻松,结营仪式上,我直接签到了无条件降至一本线录取的协议。
直到现在,我也没有想通,究竟是我当年的对手实力确实不行,还是由于初三省队的身份为我带来了加成,才让我在失误的情况下,签到了清华的一等约。但这一张在进入高中阶段前的一等约,也无疑打消了我在信息竞赛之路上的大部分顾忌,使得我在高中的竞赛之路上能够一往无前。
NOI 2017
对于所有信息竞赛的选手, NOI 应当是最重要的一场比赛。
在 NOI 2017 的第一试,我取得了 204 的高分,但在第二试中,由于在一道 2-SAT 问题上挂掉了大部分分数,我只得到了 80 的总分。与第一试的分数相加,也只是银牌的成绩。虽然有些悔恨,但毕竟,初中生是不能进入国家集训队的,我失去的,也只是一次取得 NOI 金牌的机会而已。
在 NOI 2017 第二试结束后,我第一次对「退役」有了概念。两位实力很强,但发挥不好的学长双双取得了银牌。我依稀记得出成绩那天在绍兴一中的宿舍里,他们聚在一起,讨论下一步应该怎么走的,茫然而不甘样子。竞赛经历始终一帆风顺的我,第一次看到了竞赛沉重的一面。
这两位学长后来并列拿下了常州市区的高考状元,并考进了姚班,不过这都是后话了。
NOIP 2017
NOIP 2017 时,我已经具备了相当的实力,省选难度的算法也已基本掌握,因此,在考场上,我得以写出了六题的正确程序。不过,那一年正好是臭名昭著的,「卡常数」的一年。简单来说,就是正确的程序,如果实现得不如标准程序精细,有可能不能在时间限制内通过。
因此,我在 NOIP 2017 的分数只有 570 。之后的每年省赛,虽然我的实力有所提升,但最难的题目的难度也同样逐年增加,以至于直到如今,我也没有在省赛中取得过满分的成绩。
Review 2017
2017 年,我升入高中,也真正开始「停课」参加信息学竞赛。
停课固然免去了许多琐碎的事情,但同样,我也失去了当一个「一般学生」的机会。其实那时候的我不以为然,眼中只有面前长远的 OI 之路。但时至今日,我渐渐明白,我的确错过了许多。
同时,我的实力进一步增长,也几乎将省选,以及 NOI 难度的算法学完了。我参加了 2017 年所有全国范围内的信息学竞赛,拿下了两金,两银。对于那时的我来说,信息学竞赛渐渐成为了一条坦途。怀揣着希望和憧憬,我在这条路上高歌猛进,也自然地将国家集训队作为了我高一的目标。
APIO 2018
APIO 2018 对我来说是一场特别的比赛。这是因为在中国,成为 APIO 的正式选手有两个条件,其一是不能是当年的国家集训队,其二是在剩余选手中, NOIP 的分数达到对应省份的前五。而作为正式选手的我成绩突出,达到了所有正式选手的前六名,并由此获得了一块 APIO 的国际金牌。
回想起这场比赛,我印象最深的,应该还是在比赛结束前几分钟,把一道题的用时卡进了时限。或许说是绝地翻盘,也不为过。纵观我的整个 OI 生涯,这应该是我打得最成功的一场比赛。虽然我当时的实力和现在还有很大差距,但当时的我的的确确在最后时刻做出了正确的抉择,将自己的实力毫无保留地发挥了出来。
我没有打过全国第一名,也没有进过国家队,但好在,我拿过一块 APIO 的国际金牌。
NOI 2018
在 NOI 2018 ,我如愿进入了国家集训队,得到了如今大家关注的,保送清华大学的资格。
其实 NOI 2018 时,我的身体状况十分糟糕,在一试考完之后,有严重的腹泻。并且面对一道之前在 JSOI 集训中见到过类似问题的一试试题,我也没能发挥出经验带来的优势,反倒是在复盘自己的程序时出现了许多问题,导致浪费了很多时间,却又没能复盘成功。
一试考完后,我的排名大约就在 50 左右,并不是能够高枕无忧的分数。当天晚上,我甚至考虑了一下,如果没有进入国家集训队,那么高二的比赛对我来说意味着什么。我渐渐懂得, NOI 不仅是饱含机遇的比赛,也是最残酷的比赛,也许一念之差,便会将人们导向不同的人生。
尽管如此,我也用 NOI 2018 中其他方面的表现挽回了这些劣势,例如 40 分钟写完后缀自动机 + 虚树的 68 分, 60 分钟写完一个 200 行的程序,并在比赛结束前 4 分中调试通过。
在惊心动魄之后的胜利往往是最酣畅的,在 NOI 2018 中,这句话得到了很好的体现。
Review 2018
在 2018 年,我逐渐成长为一个高水平的 OIer 。
除了进入国家集训队,和取得一块国际金牌之外,我也在全部的四场 NOI 系列赛事中取得了金牌。事实上,在整个高中阶段我参加的所有 NOI 系列赛事中,我也没有取得过金牌以下的成绩。
在集训队保送的保证下,我开始着眼更进一步的竞赛:冲国家队。
与此同时,一同竞赛的伙伴们也纷纷升入了高二:不成功,便成仁的年级。高二的 OIer 的每一场比赛,都没有重新来过的机会,用姚嘉和学长的话来说,就是「打一场,少一场」了。
挥别青涩的 OI 时代,我和同学们都意识到,明年,将是绝大多数人背水一战的一年。
WC 2019
连同之前北大集训的结果,在 WC 2019 的成绩使我被选入了仅 15 人的候选队。候选队论文、互测、下一步选拔等等工作也纷纷到来,但本应顺着胜势继续向前的我在此时却犹豫了。
在这一场比赛中,另一位本校同样被选入国家集训队,取得保送资格的 OIer 选择了放弃,并直接在 JSOI 2019 的选拔中选择了弃权。国家队选拔是困难而不可预测的,即使实力再强的选手也可能因为种种原因落选,导致数年来的奋斗最终无果。我想,他也是看到了这一点,才选择了放弃。
一面是向往已久的,一般学生的高中生活,一面是望而不及的国家队的梦想,就此止步的想法同样出现在了我的脑海中。不过最终我没有那么做,少年心性的我终究放不下心中的渴望,也不希望将来为了自己一时的退缩而懊悔;加之在那位同学退出之后,我便成为了学校唯一的在役集训队选手,或许我应该做一面旗帜,承载着大家的士气一同走完最后一程。
CTS 2019
CTS 2019 ,我以第 8 名的成绩落选国家队。我对这个结果并不意外, 2019 年入选国家队的选手都是我平时便觉得实力在我之上的,早在我决定继续的时候,我便知道,这是一场无望的比赛。
当然,对于失败,我确实也感到了失望。在赛后的心理调整中,我默默定下了对下一年国家队选拔的目标:认真参加比赛和选拔,适当参加训练,留出一些做别的事情的时间,看淡结果。
我想,饱和的训练不再能为我带来更多实力的提升,反而会让我感到自己投入的过多,患得患失。
既如此,不妨把胜负看淡一些。参加 IOI 并不重要,重要的,是做好勇于追梦的自己。
NOI 2019
NOI 2019 ,我不出意外地选入了集训队,开始了新一年的国家队选拔。同时,我们学校总共产生了 4 名集训队选手。我不知道这当中有没有我的一份贡献,但我由衷地为此高兴。
在 NOI 2019 中,我也与冠军擦肩而过。我在其中五道题中,取得了难以企及的高分,但在一道大家纷纷找规律通过的题目上得了零分,也自然没能站上领奖台。换做过去的我,也许会怒斥这道放在 NOI 中,区分方向可笑的题目,但此时的我却是已经能够淡然处之了。
Review 2019
2019 年对于我来说,不单是参加竞赛和选拔的一年,也是我在此过程中,完善自己心性的一年。
我开始接纳失败,逆风向前,看淡胜负,品味得失。
在 2019 年,我很少在赛后体会到那种酣畅的感觉,或许是因为水平高了之后,总会有本能发挥好的地方没有做好,赛后也总有些让人遗憾的地方。然而一次次的缺憾却让我愈发觉得自己正在变得完整,变得平静。在 2019 年,我也陪所有同龄的伙伴们走过了最后一程,剩下的一年,我的身上将不再背负带领他们的使命,我脚下的路将是完全属于我自己的。
NOI 2020
由于疫情的原因, 2020 年的 NOI 同时肩负了选拔国家队和次年集训队的使命。
NOI 2020 是在近些日子结束的,和 NOI 2019 一样,我在一道题目上的表现不如其他选手,而这一道题恰好是分差最大的一题。即使其余的每一题都能比别人高出一点,也因为这一题而断送了进国家队的可能。最终,我的排名是第 7 ,比去年进步了一名,但依然连面试也没能进入。
至此,我的 OI 生涯正式结束了,「退役」二字也终究落在了我的头上。诚然,我国家队的梦想最终没有实现,但我已经渐渐学会了接受这种有所保留的人生。通往梦想的道路或许并不是一条平直的轨道,在前进的过程中,我们也会无意间得到许多,经历、伙伴、认可、感悟。我想我的整个 OI 生涯,最重要的一件事,就是我守住了一颗少年的心,无论如何,我不会后悔。
吾为何人,即吾立何处;吾立何处,即殒命何处。
人物篇
曹文
曹文老师是对我的 OI 生涯帮助最大的人,他带我一步步深入竞赛,指点我的方向,同时,也为我解决了许多在与学校协调上的麻烦。常言道,师傅领进门,修行在自身,和大部分竞赛教练一样,曹老师的竞赛水平算不上高,但他能为学生们提供一个学习的氛围,并告诉他们前进的方向。甚至,他提到过,对于家庭条件困难的学生,他曾自掏腰包为他买下了一个 D 类名额。
在我看来,与其说曹老师是一名教练,不如说他是一位家长。在他名下的学生总能在需要的时候得到他的点拨,甚至是帮助。在搭乘曹老师的车放学的路上,我常常能够听见他对学弟学妹们,乃至已经退役的高三选手们持续的关注。也正因如此,曹老师是我如今最尊敬的人。
老师们
除了曹老师外,小学的启蒙老师何静,初中的竞赛教练秦新华,和高中的另一位老师吴涛也都在各个阶段为我提供了无价的帮助。我想一个学生的成长方向,很大程度上是由他的老师来塑造的,我能够在保有对编程的兴趣的情况下取得成绩,老师们的教育起到了重要的作用。
学长们
我刚刚学习信息竞赛的时候,发现它有一个突出的特点,那就是对于水平达到联赛以上的选手,上课对提升水平的帮助不大。提升水平的最好方式反而是自己去研究算法,查阅文献,并进行练习。
正因如此,如果有几位学长在同一个机房一起学习的话,就能够避免许多不必要的弯路。
在我的实力还在快速提升的时候,主要帮助我的学长是比我大两届的堵君懿、蔡昊源、周润龙三位学长,以及比我大三届的沈睿、高杰两位学长。也许也是因为得到过来自学长的帮助,我在进入集训队之后的两年,也就竞赛方面,向许许多多的学弟学妹提供了我的经验。
这几位学长后来或是保送,或是考到了当年高考的市区第一,最终都进入了清华大学进行学习。
姚嘉和
姚嘉和是一位很有意思的学长,他热情、幽默,并且励志。他对历史颇有研究,并将他所读到的融进了生活。他的竞赛水平并不高,最后没能去参加 NOI ,高考时也因排序分的微小差距无缘上海交大,最终去了南京大学。尽管如此,当我再次在 ACM 赛场上见到他的时候,他脸上的笑容却依旧没有改变。当然,对于当时的我来说,记住姚大神,并不是因为多么深刻的理由,只是他为人的温度,或者说,愿意同年龄更小的我同行的特质吧。
徐若凡
徐若凡是高我一届的学姐,也是我在所有竞赛的学长学姐中,关系最好的一位。
不知道各位参与竞赛的读者是否有过在离开一般学生生活之后,茫然无措的阶段。在初三的后半学期,我跳过了最后一点新课,直接来到了我的高中学习竞赛,也是因此,在一段时间内,我身边没有任何一个同龄人,孤独和迷茫的感觉与日俱增,我也正是在那个时候结识的这位学姐。学姐是我在新环境中的第一个朋友,在她的陪伴下,我逐渐接纳了和他人不同的学校生活,从而勇敢地走上了通向远方的路。
学姐的实力并不是十分顶尖,她最后在 NOI 2018 中得到了银牌,通过高考降分考入了上海交通大学。在她高三的日子里,恰逢政策变动,以 D 类选手的身份取得的银牌,也许将不被认可。由于高三的学习很难抽出空来,我也主动为她了解消息,稳定情绪,撑过了艰难的一年。回想起来,除了朋友的情谊外,和学姐之间,更有一种劫后余生的战友般的感情。
胡沐彦
胡沐彦是高我一届的学长,也是那一届的学长中,实力最强的一位。
在我仍在快速提升水平时,我们的水平是相近的,也共同学习了许多算法。不过我对他印象最深的,应该是他对竞赛之外其余方面的了解。许多我如今的技能,例如使用 VM Ware 虚拟机,搭建 Hexo 博客,甚至是代码风格,都是从他那里学来的。
不幸的是,学长在 NOI 2018 中取得了金牌,却没有进入集训队。
不过,通过一年的努力,他同样通过高考降分考入了清华大学的计算机类。
周皓晨
周皓晨是我小学时编程课的劲敌,那时如果我没有得到班里的第一,那么一定是被他给打败了。对手的存在对我来说无疑是一种鞭策,正因为他的存在,我才会更加努力地学习。
不过后来,他没有去我所就读的初中,也没有继续参加信息学竞赛。
杜伟桦
杜伟桦是和我一样,在 NOI 2018 进入集训队,取得保送资格的。此后,他便放弃了后续的国家队选拔,在回归一般学生的生活的同时,为学校 JSOI 2019 留出了一个省队名额。如今,他不仅拥有强健的体魄,完整的高中生活,更有着坚实的数理基础,在这两门课的竞赛中也能有一战之力。
我想,杜伟桦和我很好地代表了取得阶段性成就后的两类人,一类着眼实际,另一类则仰望梦想。杜伟桦的存在激发了我对梦想与现实的许多思考。如果说写作本文时,我对能否进入姚班忐忑不安,杜伟桦应当不必为此感到担忧,这便是现实带来的益处。
不过不论如何,我不会过分羡慕别人的生活,也不会为自己的选择而后悔。
当然,如今,我们也是不错的伙伴,或许个性上的互补,能够让我们一同走得更远。
李骥
我的儿子李骥是在 NOI 2019 进入集训队,取得保送资格的。
李骥是一个博学的人,甚至将其成为百科全书,也不为过。同时,由于从初中开始便是同班同学,在同一届参加 NOI 的选手中,李骥是最早成为我的朋友的。每当外出训练,我们基本都会住在一个宿舍,或者一个房间。也有一次,由于 CCF 的安排,睡在了同一张床上。
其实 JSOI 2019 第一轮之后,李骥的成绩非常不乐观,甚至可以说,进省队希望渺茫。
不过,在我和曹文老师的劝导下,决定打完省选,也在最后以 0.06 的微小分差以 C 类选手的身份参加了 NOI 2019 ,进而取得了保送资格。为此,我也十分高兴。
卞浏予
卞浏予同样是在 NOI 2019 进入集训队,取得保送资格的。
我和卞浏予不如和其余几位同届的集训队选手熟悉,但我能感到,他是一个有想法,有温度的人。
王宇骥
「老汉」王宇骥是我们一届的信竞选手中,最刻苦的一位。曹老师有一句这样的话,你把一套题给老汉看,只要他没做过,那么明天训练就可以用这套题。尽管在 NOI 2019 中,老汉的发挥并不是很好,只得到了银牌。但这不影响老汉在机房的学生中刻苦努力的形象。
最终,老汉通过高考和强基计划进入清华大学。
陆明琪
陆明琪是我们这一届的女选手,也是 NOI 2019 的江苏女队。
由于初中时在同一个班,圈子也十分接近,我们在学习信息竞赛之前便是不错的朋友。在学习竞赛的过程中,我们常常一同交流,她许多对算法的理解,以及代码风格也是来自于我。
我曾问过她,你希望的竞赛终点在什么地方。她当时回答说「也想像你们一样,上清华」。
在 NOI 2019 中,她的发挥很差,只是得到了一块铜牌,远远不及与她平时的实力。那个晚上她精神状态很差,一度想要放弃与人大,武汉大学等学校签约。我不知道她在高三经历了多少,但最后,她以高出第二名 2 分的成绩拿下了高考的市区第一,裸分考进了清华的计算机类。
Menci
Menci 是一个广结善缘的 OIer ,也是如今的 LOJ 的创始人之一。
在他还在役的时候,曾来过我们学校一同训练,我也有幸与他有过一面之缘。
在不长的接触中,我能够看到,他是一个真正热爱 OI 的 OIer 。
那时候的他虽然实力不能与集训队选手们相比,却收集了自己能力范围内的各个算法的模板题,以及许多他以往的训练题,放在了一个叫做 LYOJ 的网站上。那时,我也通过这个网站学到了许多。
最终 Menci 没有凭借 OI 进入清华北大这样的名校,但却依然活跃在 LOJ 的幕后,为在役的 OIer 做出贡献。在我的心目中, Menci 和 VFleaking 一样,是最值得尊敬的一类 OIer 。
刘承奥
刘承奥就是被大家称作 LCA 的一位 OIer 。在 LCA 的引荐下,我当过一段时间的 LOJ Round 的出题人。不过大概我创造题目的能力有限,并不能做到像 LCA 一样,常常出出有难度,又有创意的题目,灵感总是枯竭得很快。因此,我对 LCA 在高中时对 LOJ 的热爱和贡献也有着由衷的敬佩。
杨骏昭
杨骏昭与我同届的南京 OIer ,他在 CTS 2019 中被选入国家队,并拿下了 IOI 2019 的金牌。
杨骏昭学习信息竞赛起步很早,在我初三进入省队的时候,他应该已经具备了集训队的实力。正因如此,我也一直将其作为前进的方向,努力向他靠近。尽管最终我没能像他一样进入国家队,但和他的友谊却保留了下来。大概,在 ACM 的赛场上,我们还会一同作战。
王修涵
王修涵高我一届的四川 OIer ,他也在 CTS 2019 中被选入国家队,并拿下了 IOI 2019 的银牌。
王修涵便是 OI 界大名鼎鼎的「大象」,也被我顺口称作「大笨象」。从高一 NOI 银牌,到高二进入集训队,一路走向 IOI ,我想大象所付出的努力是超乎绝大多数 OIer 的认知的。那时的 Codeforces 给我一种感觉,所有 Div.1 的难题,大象似乎都做过。
虽然经常被骂,我还是觉得大象平常是一个好相处的人,在我认识他的一两年间,他为我解答了许多问题,在我落选后,也为我提供了关心。大象对算法竞赛的热爱是深厚的,也希望他能够在 ICPC World Finals 中补回他在 IOI 中的缺憾,把 ICPC 的奖杯带到清华。
成长篇
征途
在高中时代,我目标明确地走上了信息竞赛的这条路,一去便不得回头。
就读于江苏省常州高级中学的教改班,坐拥一定区域内最优质的教育资源的我,却从入学开始,就没有正式地上过任何文化课。认定自己能够进入竞赛集训队后,我几乎没有没有考虑过 “失败” 的可能性,全盘放弃了在校的文化课,学习竞赛。也顺利在高一取得了清华大学的保送资格。
在许多人眼中,我的高中生活称得上是一段传奇,我也曾得到过 “你的起点便是别人毕生无法到达的地方” 的评价。的确,在曹文老师视做主力选手的大力栽培下,我的竞赛之路可以说是一马平川,初三签约清华一本线,高一集训队保送,再到现在对国家队的冲刺,并没有历经许多竞赛选手看到的坎坷。对于这一点,我想,我必须要对曹文老师致以最崇高的谢意。
但是,所谓高处不胜寒,我切实地感觉到了这样传奇的人生背后的孤独。
我每天的生活都是和计算机一起度过的。和一般的学生不同,我的周围常常空无一物,仅有的竞赛同学也随着他们的身世浮沉越来越少,渐渐散去。应该说,这样的环境是具有麻醉效果的,我常常感觉不到自己的孤独,但相应地,一旦这样的感觉涌上心头,总是势不可挡的。
因此,我对友情和陪伴总是有着异乎寻常的渴望。
一旦有机会参加校内的大型活动,社会实践、坚毅行,素质拓展等,我必然不会缺席。
我把握着人际交往的分寸,总是希望朋友们过得开心一些,这样便不容易失去他们。尽管很多时候,我的悲欢仍然不能与他们相通,但朋友的存在,对我来说依然是一份相当大的慰藉。
如果要我总结的话,我愿意将我的高中时代比作一段只身走马闯天下的征途,而我的朋友们,便像是一个个寒夜里天空中的明星。我无法依靠他们,但却离不开他们。
社会
竞赛终究不是一条光明的大道,在这条路上,我有机会见证了更多不一样的事情。
有道是,天才和疯子为邻。信息竞赛生可以说是相对聪明的群体,再加上比常人更接近互联网的距离,信息竞赛的许多学生是极不寻常的。女装、同性恋、心理性别与生理性别不同、抑郁症、自闭症、自杀倾向,等等,与大多数人不一样的群体在信息竞赛的学生中并不罕见。对于这些群体,我并不会投以异样的眼光,毕竟,参加竞赛而停课的我们,又何尝不是看上去正常一些的疯子呢?
恰逢时代变化,应届高考政策的改革可能将许多选手依靠自己的成绩取得的协议变为废纸。或许这次改革并不会动摇像我一样集训队选手的保送资格,但看到身边的人被历史的车轮碾碎,也不免唏嘘感叹。每当看到社会上的许多人士歧视竞赛生的言论,我便不自主地讨厌起 “大众” 这个概念,因为利益碰撞时, “大众” 总会是胜出者,弱势的 “小众” 终究是任人鱼肉,毫无还手之力。
或许对我来说,信息竞赛是马到成功的凯歌,但是对于更多的人,它和高考一样,依然是望不见底的深渊。常常有家长来问我,「如何让孩子学习编程?」,也总有初中的年轻选手找到我,亲自询问更进一步的方法。而我的回答,往往是反问一句,「你准备好了吗?」。离开「多数」庇护下的高考,打开新的世界,究竟是凯旋而归,还是被门后的世界撕碎,恐怕难以预料。
社会是复杂而残酷的,我用「征战」来形容竞赛,是因为我真的看到了许多人战死的坟墓。
心性
从容
在初中时,每逢大考,我总是会十分紧张,有时也会因此发挥得不如预期。而在参加过无数次全国范围内的竞赛后,我逐渐养成了善于在考试中专注于眼前的问题的能力,即使是在 NOI 2020 的考场上,我也没有在考场上去考虑考试结束的后果,而是专注于题目,思考到了最后一刻。
准备高考的几个月中,我的朋友们遇到过许多我也曾经历的困难,考试状态太差,考前无法入眠,被一道不会的考题打乱了阵脚,或是因为一次较差的成绩丧失了信心。得益于参加竞赛的经历,我能够在倾听的同时,为他们提供一些心理上的帮助和疏导。考试也好,比赛也好,客观的困难是不会因为主观的想法消失的,我们能够做的,便是冷静下来,把自己已有的手牌打到最好。
「把比赛简单化」是曹文老师在我刚刚进行信息竞赛时对我的指导,随着我的整个 OI 生涯结束,这句教诲被浓缩成了「从容」二字,刻在了我的心性中。
不退
- If I run away today, good people will die. If I stand and fight, some of them might live. Maybe not many, maybe not for long. Hey, you know, maybe there’s no point to any of this at all. But it’s the best I can do. So I’m going to do it. And I will stand here doing it until it kills me.
许多读者应该注意到,直至今日,我的头像始终是《神秘博士》中的第十二任博士。上面的这段话,便是在第十季的末尾,博士战死前的一段台词。一定程度上来说,这段台词也是支撑我在近乎无望的 IOI2019 的国家队选拔中,坚持到最后的一大原因。 NOI2019 之前,恰好是自主招生的降分协议被撕毁的时候。哀鸿遍野之下, NOI2019 成为了许多 OIer 的最后一线生机。作为学校在役的唯一一名集训队选手,我想,我不应因为胜算渺茫而放下武器。
因此,我组织并参与了校内的所有训练,同本校的选手一同,走完了 NOI 前的最后一程。
- Who I am is what I stand. Where I stand, is where I fall.
我曾在十八岁的回忆录中写道,我会以博士为处世的榜样,不断地向他的为人靠近。
其中最能体现在信息竞赛中的,我想,便是「不退」。
不悔
与早已被学校规划好的高考之路不同,竞赛的路上,选手们总是面临着各种各样的选择。
在人生的岔路口,无论走向哪个方向,我们总会失去一些,同时,也获得一些。我选择竞赛,便失去了平静的高中生活,以及与更多同学接触的可能,但我同样打开了一个全新的世界,并在其中获得了认可。我选择在保送后继续冲击国家队,便失去了预习大学课程,巩固数理基础,甚至是享受保送生活的机会,但对应地,我的灵魂变得前所未有地完整,也守住了少年的本心。
我想,一个令人难以决断的选择的存在,本身就意味着选择的两端是近似平衡的。一旦做出选择,便一定会失去没有选择的一端,而我们能够做的,便是体会所选择的这一端所带来的人生。或许像我选择冲国家队,但最后却因为一些原因落选一样,我们选择的一端背后的人生并不如做出选择时想象的那般顺遂,但我想,这也并不意味着另一端的人生会是一帆风顺。至少,对于目前的我来说,若是当初在尚能看到希望的情况下放弃梦想,我的心绝不会像如今这般平静。
面对选择背后难以预测的得失,我的竞赛经历告诉我一个简单的准则,「不悔」。
其他内容
Codeforces
Codeforces 是一个俄罗斯的算法竞赛网站,会定期举办线上比赛。在比赛中,用户们会获得一个与表现相关的积分「Rating」, Rating 越高的选手实力就越强,不同 Rating 对应了不同的段位。
Codeforces 同时也是一个社区,人们可以在此交流算法、心得,甚至是聊天。
在今年 2 月,我打上了 Codeforces 的最高段位「Legendary Grandmaster」。那个时候,也恰好是我思考竞赛得失的一个时期。来自 Codeforces 的认可从某种意义上肯定了我的努力,也坚定了我集训下去的信念。在打上 LGM 之后,我发了一篇 Codeforces 博客,收到了形形色色的人的祝福,以及鼓励,甚至是对我当时思考的开导。
- You may justify it by your target, but even just being able to pursue it without thinking about anything else means that you enjoyed the ride.
- All the knowledge that you’ve acquired, all the moments of happiness when you finally got the idea for a problem, the success in various contests, like CF rounds, are just some random pieces of proof that what you did was not in vain.
- You are inspiring.
我的人生是一本书,竞赛是其中的一个章节,而 Codeforces 则是其中重要的一页。
Atcoder
Atcoder 是一个日本的算法竞赛网站,同样会定期举办线上比赛,为用户赋予 Rating 。
相比 Codeforces , Atcoder 的题风偏向思考,一般不涉及麻烦的代码实现,同时赛制也更合我的喜好。因此,作为线上比赛的平台而言,我更加喜欢 Atcoder 。我最近一次参加 Atcoder 的比赛就在十几天前,这场比赛后,我的 Rating 定格在了 3199 ,再加 1 分,便能达到七段。
当时,我觉得十分遗憾,不过现在看来,其实以后我还是有机会把它打上去的。
Project Euler
Project Euler 是一个专注于数学题的网站,每一道题都是一道给定输入的题,只要输入正确答案,就算做通过。有一段时间我特别着迷于 Project Euler ,去上面做了不少题目,也拿到过一道题目的一血,以及全站近期排行榜的第一名。
由此,我大概可以骄傲地说,「我也登顶过一个 OJ」吧。
博客
最早开的博客是一个 CSDN 博客,这也是如今大家可以访问到的一个博客。
从开设到现在,这个博客已经公开了 800 多篇文章,也有 26 万多的浏览量。但实际上,由于 CSDN 不胜其烦的广告,对用户隐私的泄露,我对 CSDN 的好感始终不高。在一次 CSDN 的改版后,其对博客多出了一条限制,就是每篇文章至多添加三个标签,并且通过询问客服,我得知短期内没有任何解决方案。因此,我终于下定决心开设一个本地的 Hexo 博客,不再受平台的限制。
如今,我的 CSDN 博客依然会照常更新一些我在本地博客中的内容,但我已经不再注重对它标签的整理,或是排版了。不过,每当再比赛时见到对我说「我看过您的博客」的人,也不免觉得遗憾,要是从一开始,没有选择 CSDN 博客的话,我的博客应该会比现在更好。
面试
我准备了国家队选拔面试的自我介绍,不过,最后没有进入面试,自然也就没有用到。
但既然写了,我就把它收入了我的回忆录中,或许也可以为一些读者提供参考吧。
- Good morning, ladies and gentlemen, it’s the greatest honor to make a presentation here. I am Yixuan Xu from Changzhou Senior High School of Jiangsu Province. Standing on this glorious stage, first, I need to express my sincere gratitude to my supervisor, Wen Cao, who has been invariably offering selfless and priceless supports to me.
- During my primary school, I first stepped into the realm of OI. Since then, OI has played an indispensable part in my life, because by way of learning OI, my gift in this subject started to be discovered and given to a full play. Meanwhile, my passion and self-confidence have been aroused accordingly, along with a myriad of high-quality achievements including gold medals in all four NOI series, an international one in APIO, and the title of Legendary Grandmaster on Codeforces.
- Moreover, I have been gradually aware of the essence of OI learning, namely, being brave to face challenges, never stopping innovation and striving to the last minute. That’s what I have reaped from OI, which goes far beyond the competition itself.
- Apart from OI, I have a good taste of life as well. As a music zealot, I have passed the test of Level 10 for amateurs in Guitar Playing and issued over 100 songs on my social media. Willing to share my ideas with OIers around the world, I have published more than 800 posts in my personal blog, with nearly 2.5 hundred thousand views. Moreover, in my eyes, what attracts me most is to develop precious friendship with peers around us. Even at the crucial period of preparing for those key competitions, I’m still inclined to spare some time to get involved in kinds of class activities.
- And that’s me. Trust me and I will never let you down.
论文
我写过两篇集训队论文,一篇是关于高斯整数的,一篇是关于压缩后缀自动机的。
此外,我还写过一篇有关 KM 算法的营员交流,相信参加 WC 2020 的读者们应当有所了解。
我今年的论文《浅谈压缩后缀自动机》是我非常满意的一篇论文,可惜没能在面试环节进行答辩。如果以后有机会的话,我希望能够去 WC 或是 APIO 的讲课中和全国的选手们讲讲。
我一直不太喜欢多年前流传下来的论文集模板的字体和排版,如果有想要获得更好的阅读体验的读者,可以联系我获得一份有着更为美观排版的论文。
出题与讲课
最后,作为小有名气的 OIer ,我也时常接到出题和讲课的邀请。
通过这样的工作,我赚到了我人生中的第一桶金。其实在高中阶段,我主要的精力都放在了自己竞赛上,很少参与出题和讲课的工作。不过,就目前而言,我还是希望能以这样的方式在 OI 界多留一段时间,也算是表达我对 OI 热爱的一种方式吧。
结语
这是一篇很长的文章,如果有读者读到这里,那么首先,我要对你表示感谢,感谢你抽出了人生中的一小段时间,来了解我的竞赛生涯。信息竞赛,占据了我人生中的六年,或许一生中,本就没有许多六年可以体会。我想,少年时代的六年,值得我们每个人沉下心来,安静地品味。
- I’ve never been so close to truth as then. I touched its silver lining.
回首望去,时间已经以我难以想象的速度将一切带到了过去。
- It all just disappears doesn’t it? Everything you are, like breath on a mirror.
我要感谢几年间所有的相遇,感谢老师的教诲,感谢家人朋友的支持,感谢信息竞赛本身,也要感谢我自己,能够谱写出那段燃烧少年热血地时光。或许,是时候该上路,向新的生活前进了。
- Times change, and so must I. We all change. When you think about it, we are all different people, all through our lives and that’s okay, that’s good! You’ve gotta keep moving, so long as you remember all the people that you used to be. I will not forget one line of this, not one day. I swear. I will always remember, when the doctor was me.
我将永远记住我曾几近登上的那座山峰,和我沿途经过的,所有风景。
- Never be cruel. Never be cowardly. Never give up, and never give in.
- Laugh hard. Run fast. Be kind. Doctor, I let you go.