用大视野,观大世界

StudyingFather

2020-08-19 16:44:59

Personal

以这篇回忆录式的文章,来作为 [整本书](https://studyingfather.com/uploads/book.pdf) 的序言吧。 ## 踏上 OI 路 初一开学后的某一天,在朋友的介绍下,我到了离学校不远的一栋楼。 那时候那个班已经开了第二节课,在老师的指导下,我用那本已经用了五年,还装着 Windows XP 的小笔记本,敲下了属于我的 Hello, World!。 我就是这样,踏上了一条我从未涉足过的新路。 ## 蹒跚学步 记得最早的时候,我手头还没有什么书籍,学习知识都是靠老师的教授。 那时候用的 OJ 也是 OpenJudge 中的 NOI 题库,一周两个小时的课,可能也就做三四道题,除了周末之外,也不会有其他时间继续做题。 那个时候,OI 离我还很遥远,刚开始这个事情只是作为一个兴趣在学,也从来没想过依靠这个来升学。 寒假和暑假的时候,训练时间会多一些,一天四个小时呆在机房。 这段时间,训练的 OJ 也多了起来,16 年 2 月的时候,我注册了 CodeVS;16 年 5 月的时候,我在 UVa 上有了第一条提交记录;16 年 8 月的时候,看到身边的学长在用洛谷,回家之后自己也在那上面注册了个号。 现在看来,相比不少初中就进省队的神仙们,我当时的训练还是很少。这也许与我当时视野很小有关吧。 当时学到的知识,真正记下来的也不算多。很多当时学到的知识,直到中考前的那两个月,才重新被拾起来。 暑假之后就是第一次 NOIp 了,那次初赛算是超常发挥,全疆第二名。 不过复赛的时候,一桶冷水泼了下来。 因为 T1 存储答案的变量忘记了初始化,T1 的 100 分直接丢掉了。那算是我学 OI 路上,第一次在正式比赛中因为失误丢分。 最后只拿了 $0+100+40+0=140$,离一等奖还差得远。 接下来就是一年的等待,等待下一次 NOIp 的到来。 这一年里还是在半划水的状态中度过。洛谷的连续打卡天数平时从来没有累计下来,往往是打一天,断五天。 初二第二学期开学的时候,家里人给我购置了台新的笔记本。屏幕大了很多,系统也变成了 Windows 10。原来的小屏幕下,一屏最多显示不到 20 行代码,换了大屏幕后,一切都方便了不少。这台笔记本,将伴随我走完剩下的 OI 路。 接下来就是 NOIp 2017 了。 那年的 T3,我打了长度达 165 行的搜索代码,最后一分没挂。 300 分,全疆第一名。 ## 小机房 ### 开始 当然,这 300 分并不能说明什么,我要走的路还很漫长。 当时,我能参考的资料,大部分都来自于 hzwer 的博客,当然靠着翻博客下面的友情链接,我又找到了一些神仙的博客。 但总的来说,我 OI 生涯的前半段路,接受的训练还是零散的,不系统的。那时候拿的训练教材主要还是一本通,学到的东西并不算多。 事情在 18 年 5 月出现了转机。当时我拿到了信息学特长生的优惠,在二模考完的第二天,我开启了小机房的新生活。 我们几位小机房的主力选手,将在这里继续我们的 OI 路。 那一个月的时光颇为充实,训练教材变成了《算法竞赛进阶指南》,大家每天早上轮流讲一个知识点,之后做书上的练习题。那算是我 OI 生涯中,真正的启蒙时期吧。 每天下午,几个人还会相约到操场上打飞盘。一个多小时的挥汗如雨,大家的脸上都洋溢着笑容。 也许这就是没有压力情况下的生活吧。 ### 辉煌 一个多月的中考前停课学习,再加上暑假一个月的学习,学到的知识量,终于让我有了踏上跑道的资格。 当然,这也只是踏上了起点,前路还很漫长。 学科营之后,小机房的主力选手来到了常州,十四天的集训,第一次体验降维打击,却也让我们学习到了更多的知识。 开学后,我被分到了理科特长班,压力自然大了不少,但是也站到了一个更高的起点上。 小机房也有了更多的人加入,大多数人高中才开始接触 OI。这一次 NOIp,是他们唯一的机会。 这一届的小机房,甚是热闹。NOIp 前的那两周,小机房几乎天天爆满,再加上不少人都来自理特班,这一届也注定是最辉煌的一届。 打飞盘,玩狼人杀,还有考前的大聚餐,什么活动都不担心缺人。这就是小机房的凝聚力吧。 事实也确实如此,当年 25 个省一,小机房一共拿走了 23 个。看着获奖名单上清一色的「乌鲁木齐市第一中学」,大家的喜悦心情溢于言表。 ### 冷清 热闹终究是暂时的。在一年中的绝大部分时间里,小机房都是冷清的。 绝大部分时间里,呆在小机房的都是像我们这样的省队选手。偶尔会有退役选手会过来,查查资料,或者是摸一小会鱼。 毕竟 OI 和其他四门竞赛相比,差异太大了: - 学 OI 的人并不多。 - 高二的 NOIp 是 OIer 的最后一次机会,如果不能在这次 NOIp 中取得高分,一切就结束了。 - OI 的竞赛课往往安排在周末,而不像其他竞赛安排在平时的下午。 这注定了,小机房的热闹,大多数时候只能封存在记忆的世界中。 辉煌和冷清,冰火两重天。 ## 大世界 ### 踏入 OI 圈 小机房的生活开始后,知道了 UOJ 和 LOJ,加了这两个 OJ 的 QQ 群,第一次真正地踏入了 OI 圈。 越来越多神仙的 ID,越来越多的算法,让我感受到了 OI 圈的宽阔。也让我知道了,我之前学到的东西还远远不够。 NOIp 2018,298 分,不算是个很好的成绩。 总排名第 12 位,排除高三和初中选手,我排在第 10 位。 进省队是没有希望的,不过我还是有幸获得了次年冬令营的参赛资格。这也是我第一次参加全国性的 OI 活动。 有幸在现场面到了湖北的 wjyyy 神仙,这也是我第一次面基的经历。 在广州度过了难得的冬眠时光,最后有幸拿到了一块铜牌。 ### 省队 能够进入省队也是一个意外事件。 hookan 退役了,又有人放弃了省队名额,于是省队就意外地落到了我的头上。得以省队的标准要求自己了呢。 CTS 和 APIO,又是一次降维打击。自己眼中困难的题目,在神仙的眼中则尽是签到题。 两次比赛全部打铁而归。 接下来便是 NOI 了。 赛前去了雅礼中学,再次体验被降维打击的感觉,有幸认识了 QAQAutoMaton。 D1T1 没看出来分层图最短路可以过,错失了真正的送分题。 剩下的题还是只会最低档暴力。 终究成为了那 $15\%$,打铁而归。我这一年,究竟学到了什么? ### 第二次省队 NOI 后去了中山纪念中学,准备好再冲一次省队。 利用这一个月的时间系统性地梳理了下之前学的知识。 但是在考场上还是怂了。为什么我遇到一道题,总是不会去想打正解呢? 在迷茫之中考了个迷茫的成绩,202 分,高一和高二选手中排名第三,开始准备自己的第二次 NOI。 然而 2020 年的开端并不是那么太平。疫情打乱了学校的教学,比赛也相应顺延。强基计划取代了 OI,为前路蒙上了一层阴影。 因为防疫要求,生活只能是学校和家里的两点一线。外出培训的计划自然也只能搁浅。 大多数时间都没有模拟赛,训练只剩下刷真题,写题解。花半天时间钻研一道题渐渐成为了常态。 ### OI 之外 大世界里,不仅仅只是 OI。 如果我不接触 OI 的话,我也许会在理特班里平常地度过这高中三年。在理特班努力一把,考上一个 985 并不算太难的事情。上了大学之后可能会接触到算法竞赛,参与到 ICPC 当中。 但这三年,却将是小世界中的三年。 接触了 OI,改变了我的世界线,让我更早地接触了这个大世界。 偶尔刷刷知乎,意识到显示与理想还有很大差异;在 B 站,看了几部纪录片,学了些数学知识。这一过程中也认识了不少能聊得来的朋友。 这应该是 OI 带给我的额外收获吧。 ## Contributions *Making contributions is a great thing.* 这段话来源于 ouuan 之前在 GitHub 的个人描述页上写的话。 ### OI Wiki 大概是 2018 年 10 月的时候接触到了 OI Wiki。 那时候的 OI Wiki 已经描绘出了一个不错的轮廓,但还有很多东西需要往上填充。 于是,一个新征程开始了。 我开始信步于 issue 区当中,找到那些等待被填上的坑。这当中有很多知识对我而言也是陌生的,于是我借着这个机会,学习到了不少新的算法,了解了很多新的技巧。 有的时候,我发现自己刚刚学到的一个新知识没有在 OI Wiki 上提到,就会试着将这些内容填充到这幅五彩缤纷的画上。 当初大多数页面还是空页的 OI Wiki,如今已经成了自学算法竞赛的一个不错的去处。 在这一过程中,我也认识了不少志趣相合的人。APIO 2019 的时候,我有幸参加了 OI Wiki 的线下聚餐活动。 - 34 issues - 85 pull requests - 271 commits 这就是我留下的足迹。 ### 洛谷 2019 年 1 月的时候,我在刷题的时候,发现洛谷试炼场少了不少知识点。于是便萌生了自建一个题单的想法。 这就是 luogu-problem-list 的来历。 现在这个题单已经有了 600+ 收藏,这可能是我给洛谷留下的最大的 contribution 吧。 2019 年 12 月,在 xht37 的邀请下,我加入了洛谷题目管理组。 四个月的题目管理员任期,对我而言也算是一个社会实践的经历吧。 - 给所有的 USACO 题目修改了标题,标清了各题目对应的比赛组别。 - 翻译了一些国外的 OI 题目。 - 审核了用户提交的模板题,比赛真题。 - 审了不知道多少篇题解和翻译。 - 在其他用户的帮助下修了一些题的排版。 - 给一些题目加强了数据,加了一些 hack 数据。 ## 尾声 天下没有不散的筵席,不过这次散的确实挺让人出乎意料的。 一百多天的平静突然被打破,一例确诊病例敲响了警钟。 封城的命令立刻下达,城市突然变得无比热闹,毕竟大家都要回到各自的家里了。 第二天,一切都归于平静。 事发突然,我的 18 岁生日就这样在封城中度过了。 接着 NOI 报名通知发了,我们都在关心我们能不能去。 然而答案是否定的。我们收到的回复只是「建议参加线上同步赛」。毕竟这个事情也不是组织方能决定的,我们确实无法改变这个事实。 退而求其次吧。CCF 又给出了一套新的方案,允许我们设置分赛区比赛。 技术上的问题倒不会成为太大阻碍,真正让人担心的,却是我们能不能出去比赛。 17 号起社区已经全部封闭。如果我们要出小区的话,就需要社区出具相关的同意书。 然而我们五个人,住在三个不同的社区。这样工作就麻烦了许多。 更头疼的问题在于组织方上。分赛区比赛,不可避免要由省组织单位——科协来出面。科协如果不派人来,一切都无从谈起。 还是得感谢学校在这个过程中帮了不少的忙。校长亲自找到了教育局备案,最后成功让我们所在的社区开具了同意书。这意味着,我们出门已经不成问题。 但现实远比我们想象中残酷得多。现实告诉我们,我们在参加一场拔河赛,比赛的另一方,恰恰是科协。 对面的所作所为,只会把我们拉向他们一方。 「如果出了事,你们能承担得起责任吗?」听起来是那么有力,也正是这样一句话,断送了最后的希望。 *一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。* ## 致谢 漫长的 OI 生涯,没有他人的帮助,我很难走到今天。 这里就是留给那些要感谢的人的地方。 感谢我的母校乌鲁木齐市第一中学提供的资源和帮助。 感谢我的教练提供的帮助与指导。 感谢我的家人的理解与支持。 感谢 kkksc03 提供了洛谷这样一个不错的交流平台,祝愿洛谷在接下来的时间里越来越好。 感谢 zqc 和 Menci 提供的 LibreOJ 平台,祝愿 LibreOJ 越来越好。 感谢 vfk 提供的 UOJ 平台,祝愿 UOJ 越来越好。 感谢 xqmmcqs, c0per 等学长的帮助与支持。 感谢同届的 15owzLy1, yyy 同学,能够和你们同在省队,是我的荣幸。 感谢 woshiluo 学弟,感谢您在一些技术问题上的帮助,您也是未来新疆 OI 的希望。 感谢小机房的其他朋友们,祝各位高考顺利。 感谢洛谷题目管理组的各位,和你们共事是一段不错的经历。 感谢 OI Wiki 的各位伙伴们,你们也教会了我很多。 感谢我在 OI 生涯中认识的朋友们。你们让我学到了很多,你们的实力,给了我前进的动力。祝愿你们在 OI 或者文化课的道路上一路顺风。 祝福 CYJian, exoixx130, EternalAlexander, Froggy, InstallB, LanrTabe, ouuan, PinkRabbit, QAQAutoMaton, Qiuly, srf, sys, ustze, WYXkk, xht37,虽然 NOI 已经接近尾声,祝福来的实在是晚了,不过还是祝愿你们这一次不留遗憾。 感谢支持我的朋友们,祝愿各位都有光明的前途。 *2020 年 8 月 19 日*