Farewell, OI

Farewell, OI

NOIP2020之后我度过了高中的第一个年头。这一年里我可以说没怎么准备OI了,也没怎么刷题,时间全花在学业和自己钻研的一些项目(比如Qt)上了。 转眼间就到了NOIP(CSP-S)2021报名的日子,而在别的OIer都在准备初赛的同时…… 我选择了提前退役。
回首三年的OI生涯, 我既学到了不少大学CS课程的内容(虽然并没学的很懂),也结交了不少OIer, 有了许多不一般的经历,而OI也成为了我生活中, 不,我生命中重要的一部分,甚至一定程度上塑造了我的一部分人格. 而我现在除了不舍,更多的可能还是不甘 - 到最后,还是以两个省二的成绩遗憾谢幕。


不少朋友都在劝我:“就当玩就好了,何必那么功利呢?”

其实我也不是很功利(不然取消自招改强基计划之后可能就不会继续了),决定提前chicken out也有不少直接原因:父母反对,学业压力,funding(毕竟CSP-S的报名费确实不少),等等。但说到底可能还是我不想继续了,以至于没有动力去哪怕“玩”最后一次。

从接触OI开始就一直怀揣一个“想去一次NOI”的愿望,而这自然而然也变成了“拿一次省一”的小目标。这个简单的目标对我来说竟是如此遥不可及。


第一次NOIP其实是离(普及组)省一最近的一次(差20分左右),当时卡在了T2那道模拟题上。虽然遗憾,但我当时觉得可能只是代码能力不够,题做多了自然就会提高;毕竟初出茅庐,从开始系统学习OI到比赛只有三个月,当时主要也就学了点C++ STL。

后来开始上OI网课,也去线下的集训营,但很快我便发现我学的很吃力:能基本理解算法及其原理,但拿到题就是没有思路,无从下手,就算能想到思路也顶多只有搜索和暴力模拟…… 没有思路也只能啃题解了,但紧接着的问题就是不会写; 每一道题都要花大量(有时甚至数小时)的时间写出大致框架+debug,最后往往还是得参照标程写出能AC的代码. 此时我还没从心底怀疑我自己,只是把这一切归结为不够努力,继续在听课(看资料)-消化-做题中不断循环。

然后就到了 CSP-S 2019

也许这是我OI生涯中最不堪回首的一段记忆:Day1看到T1就没有思路,一边琢磨研究格雷码的规律一边写了一个大模拟还浪费了2hr的时间debug,最后只能简单打表骗30pts草草收场…… Day2 更是如此,T1写了个大dp花掉了几乎所有的时间。记得Day1考完的那个中午,我默默走出考场等车,那种失魂落魄的感受至今仍然刻在我的脑海里。

其实如果只是一次失败对我来说也不会有太大影响,毕竟到头来还是会抱着“算了,明年rp++”的想法继续一年的准备。但当我看到洛谷上对T1的难度评级和周围其他OIer的题解的考后评价时,我震惊了 — 普及- !当其他 OIer 都在津津乐道后面题目的做法时,我却连公认最简单的签到题都做不出来!

我的最后一道心理防线在看到那个橙色的难度标签的那一刻崩塌了。

也是在这个时候我开始思考:我真的适合算法竞赛吗? 为什么(至少自认)热爱计算机技术的我偏偏会跟属于计算机科学分类的算法和数据结构过不去?

我不明白。

虽然后来平复了心情,再一次投入到学习和训练中,但我却从此开始害怕模拟赛,拿到题一如既往的没有思路,在众多大佬和其他OIer面前甚至有点抬不起头。我觉得刷题是一种可能的解决方案,之后也就没有继续参加培训,变为自己默默刷题了。一年刷题下来,我在 CSP-S 2020 & NOIP2020 上只拿了一个省二,成绩依然只有两位数(尽管稍微回复了一点信心)。本希望第二年再试一次再退役,结果高中紧张的学业让我无暇顾及OI,我的OI生涯也提前划上了句号。


回首三年失败的OI征程,也许我感受最深的就是无处不在的挫败感

挫败感贯穿了我整个OI生涯的始终。从平时到比赛,我越是努力学习和刷题就越是被它紧紧包围。WA和TLE成了家常便饭;我总是花数个小时的时间对着电脑屏幕想题,一AC(哪怕是照着题解做了出来)就欣喜若狂,自己“去一次NOI”的OI梦也随之一点一点被消磨殆尽。

而加深这种挫败感的可能是peer pressure - 当周围不少大佬都在机房愉快摸鱼时,我默默的刷着题不敢说话;当许多人考后写游记卖弱说后面的题目没有AC时,只有我自己知道我才是那个真正的蒟蒻;当很多人以打模拟赛甚至codeforces为乐时,我有时却面对别人”10min秒切”的签到题都不知所措……. 我也许确实在和别人攀比,但这可能也源于我的一种奇怪的自尊:”内行不至于连外行(不一定是字面意思上的)都比不过吧“。

一次次跌倒又一次次爬起来,我就是在这种屡败屡战的过程中坚持了三年。但最后退役了我却发现:可能我的特长和真正的爱好并不在算法和计算机科学上,而是一般性的软件工程和应用开发。可笑的是,甚至这一点也让我有些难以接受;也许到最后我还是在勉强自己继续在OI的道路上走下去吧。当然这也不意味着我从此便放弃算法竞赛了;其实我还是很期待大学能成为一名ACMer继续参加ICPC,无论结果好与坏。我真的适合算法竞赛吗?也许我心中已经有了答案。


可以说我足足三年的青春都奉献给了OI,可到头来还是拿着两个省二的毫无含金量的成绩退了场。但我三年的努力真的就这么付诸东流了吗?not really。正是OI让我得以一窥计算机科学这门学科,让我有了足够的时间系统学习编程(虽然五年级开始就入门了Python,C++和Java),也正是OI成为了我继续学习计算机技术和拓展技能树(Linux, Qt, Flutter……)的基础。我同时收获了不少知识之外的东西:交了不少OIer朋友,借参加OI集训的机会去了国内几个大城市旅游/运转,也留下了无数珍贵的回忆。

某种意义上我有点像一个masochist,被OI折磨(?)了这么久,等到退役却又如此不舍。但OI对我来说不只是一个竞赛,而是我追逐年少时就有的计算机梦想的一个开端,更是融进我人格中的一部分。 这三年的 OI 生涯是,也永远都会是,我生命中最宝贵而精彩 - 就算满是伤痛 - 的时光之一。

Farewell, OI.