前言
观前提示:全文约 22400 字。
一个 OI 选手的生命总是被以一场一场的赛事纪年,总有人说这样不好,我们的生活总该有 OI 以外的东西。
但对于史书而言,我们也总是以皇帝的生死和王朝的兴衰来分隔纪年,哪怕那些战争再公式刻板而无趣,哪怕那些结果早在朝纲倒乱时就已注定,哪怕那些真正的伟大的潮流和思想都诞生在那些平凡普通的年代,直到灾难和战乱降临才释放出属于它们的熠熠光彩。
因为每一次的兴亡更替都是无数人命运的倾覆和转折,我们不只看王朝的兴盛和覆灭,我们从它们的建立和崩塌窥见一个时代里所积蓄下的一切。比赛也深深的作为着印记,狠狠的刻印在下一个赛段的开篇之上,左右着下一段学习的心态和策略。
真正的有价值的珍贵的事物发生在赛场之外,发生在和 OI 无关系的生活之中。但每一场比赛的结果决定了下一段的生命走上什么样的道路,又能遇到什么样的人和什么样的梦想。
所以这会是一篇最平凡的回忆录,它会完完全全的以赛事纪年,讲述属于我的每一个时刻。
[ 2017 原点 , 2018 镇江市信息集训选拔考试 ]
四年级的某个日子,父亲开始让我学习 C++。原因忘记了,场景也忘记了,使用的书本是一本黄色的书。我基本是自学,不会的问父亲。我对信息竞赛没有了解,所有的建议都是父母给我的。
学到自定义函数就基本学不明白了,自学学不下去,为了应付父亲的考核开始背代码,只要把书上原有的代码都打出来就可以通过检验。当时并不明白编程意味着什么,认为只是父亲想让我变成像他一样各方面都有所涉猎的人才,而这只是其中一个环节。
我并不喜欢编程,从一开始就是。
直到五年级,我还在浑浑噩噩度过着自己生活的时候,有一天和另一个同学被班主任叫去了办公室,告诉我们镇江市的科协决定组织一个公益的信息集训营,会举行一次选拔考试,考核内容是奥数。我们班一共有两个推荐名额,要求我们对此保密,这个机会十分珍贵。
突如其来的天降之喜让我有些惶恐,因为当时的我数学还处于一个半拉不死的状态,总是在 80 分出头徘徊,对于小学生来说这是一个没什么救的成绩。而另一个和我同去的同学一直在外面学习奥数,我并不理解为什么这个机会会给到我。
然而当正式的通告下达,我的名字并没有出现在上面,最后我还是被更换了,换成了另一个公认更优秀的同学。我知道这个消息之后一个人无能为力的在家里蒙着被子哭了一场,我可以接受我从一开始就没有这样的机会,但把它在我面前当作饵料摇晃许久然后又一举夺去这种事对当时的我而言实在是太残酷。
我母亲见到了我的样子,默默做出了她的决定。她带着我自学 C++ 使用的书本去找了科协的工作人员,并且用作品展示我的编程能力——或许当时她靠这些说服工作人员相信我是编程天才,但只有我自己知道那些代码都是抄书的结果。
至少最后我获得了一个额外的考试名额。
说实话,到这里我就已经满足了,我只是想拿回曾经属于我的东西——哪怕它只是因为巧合而被错误的给到了我,也很清楚以我的水平想通过这场考试是做梦。于是我抱着做一做大梦的心态去考了试。
我自己印象最深的一道题是求两个高度和底面周长都是 \(1:2\) 的相似圆锥的体积比。我只能想象二维平面,画了一下图,画出了两个 \(1:2\) 的相似三角形,然后发现可以把大三角形剪成四个小三角形,于是自信填上了 \(1:4\) 并觉得自己是天才。
最后的压轴大题是 10 盘汉诺塔一共需要多少步——这个问题的真正解法我直到高三给小朋友讲课才在备课期间搞明白。群里有一个四年级小朋友给出了 1024 的答案,被所有人簇拥为天才,并惋惜他离正确答案只差最后的 -1。
我对自己并不抱希望,当然还是存着泡沫般的幻想。
直到有一天放学回家,上楼梯的时候,我妈突然打开门,笑着告诉我有一个好消息。我忘了我当时猜了几次,但最后我猜到了。我通过了那场考试,成为了镇江市集训营的一员。
( 2018 镇江市信息集训选拔考试 , 2020 CSP-普及 ]
我以十分自卑的心态进入了集训营,但由于是奥数选拔,所以大部分人并没有编程基础,导致一开始学生们迅速按照学过的编程内容划分群体,使得我幸运的进入了偏上的阶层里,指导和帮助其他人完成初学者阶段的程序。
信息集训营也是我第一次遇到集中了一个市的优秀学生的地方,我在很短的时间内发现原来这些被困难的奥数试卷选拔进来的选手也有相当数量的摆子,基本不学习,或者完全学不明白信息。这一情况的发现给我补充了不少信心。
但随之而来的是集训营里的第一次测试,内容非常简单,打字速度,而我于两百人中沦陷在了倒数第七名,自然的遭到了老师的劝退。我不甘心于接受这样的结局,所以拒绝了这样离开的建议,当然,比我更低的六人中,据我所知也没有一人选择离开。
所以我在一年之中保持了每周末参加一次集训营的频率。教授的内容一直非常基础,速度也并不快,花费了很长时间才开始讲到那些我自学没有学明白的东西。在这期间也有人选择离开,或许人就是这样,他们并不是不能接受结束那些并不珍贵的东西,而是不能接受结束它的资格不落在自己手中。
我无法回忆起两件事情的先后,所以将它们并列的展示:
第一件事是暑期里组织了一次七天的集训,而我母亲无法接送我,所以我中午需要留在学校,上午下午自己来回。和我一起中午留在学校的只有另一个同学,所以很快和他混熟了,让这段集训的压抑放松了许多。
这段时间里请了数位来自高中的竞赛教练为我们讲课,我只记得自己听从了老师的建议每天都坐在第一排,并且因为快速回答上了几个二的幂次受到了一位教练的褒赞。其次是,我没有听懂汉诺塔,让我再一次质疑了自己。
第二件事是集训营的第一次淘汰测试,我第一次来到了镇江一中(或许也是至今唯一一次),我的印象里有一道连环引爆毛毛虫炸弹的题目被放在了第三题,除此以外就只记得成绩了。
我是原本班级的第二,但并不好。因为另一个班级的前十或许都比我更高,而我们班的许多人都不像我一样认真上课,包括那个比我更高的同学。从一开始就这样,我对自己天赋的质疑从未停下过。
另一件题外事是,当时我们训练的网站是 noi.openjudge.cn
。有一个当时的同学在群里询问 NOI 的网址是什么,因此我被我的父母批评了不思进取,“你的同学们甚至都已经在了解如何打 NOI 了”。
在这期间,我从这个网站的讨论区下载了大量的基于 windows.h
的游戏,然后拼凑它们的代码块实现各种我自己想要的功能,并写出了一系列自制的游戏。可惜,它们现在都因为我对中文字符的滥用而在系统迁移中损坏了。
而我对 CSP 的第一次了解,来自于一个小学二年级在南京植物园见过一面却非常投缘的朋友 wfh 的家长的朋友圈,他在五年级获得了 CSP-J 一等奖,我也第一次产生了“初中我也要参加信息竞赛”的想法,虽然我对它的认知停留在 CSP-J。
之后就是初中的升学,我却再次遭遇了问题,因为我的户口留在南京,所以如果在镇江上初中,无法就读热门的学校,并且很可能会被调剂到稍差的中学。我向父母哭诉为什么不把我的户口转到镇江,不过最后因为我集训营成员的身份,进入了集训的承办学校镇江三中。
集训营在初中之后因为各种各样的问题停办了,我可能成为了最后退出的一批人之一。但如今的我已经今非昔比了,六年级一年中,我为了信息的学习转而学习了奥数,并且很快追赶上了众多过去被我仰望的人,我第一次觉得“或许我真的有某种天赋去竞争某些过去只存在于空想中的东西”。
集训营之后找到了段老师学习信息,在一个工作室里,工作室的门口摆着过去学生取得的 CSP 成绩,在一起学习的几个同学中我也表现十分突出,我没有怀疑过自己也会被列入那些人和他们的奖项之间。
初赛通过,然后我就惊讶的发现,我们学校虽然吸纳了大部分过去集训营的学生,但通过了初赛的选手只有三个,其中又只有两个来自集训营,分别是我和 tz。学校占用了社团测试的时间为我们进行文件输入输出有关的培训,然后因为错过了文学社的测试,我又顺理成章的被安排在了编程社团,尽管我完全不能说喜欢它。
从一开始,我就不喜欢信息竞赛本身,我只喜欢和期望它给我带来的荣誉。
我对第一次 CSP-J 的复赛没有深刻的印象。我认为自己获得了满分,这也非常可笑,因为当时的我并不知道什么是时间复杂度,以为只要程序的输出对了就可以了。最后出分是 210,和一等奖分数线 205 同时被我知道。
虽然搞不明白自己为什么拿到了这么多分,但至少普及组一等奖到手了,我觉得我非常厉害。
( 2020 CSP-普及 , 2021 号家军寒假插班 ]
普及组一等奖之后,tz 选择退役,但从他口中我再一次知道了“号家军”。并且,段老师告诉我我的水平已经不太适合跟班了,继续跟着她的班学习只能是浪费时间了。于是在 wfh 妈妈的推荐下,我第一次接触了 hb。
号家军在当时的我眼中非常神秘,我妈妈给我看了非常多的 hb 的喜报,在上面有 djq dxm 等许多名字。我家长去尝试联系了一下,因为我们当时还觉得我的普及组一等奖是很有含金量的奖项。但得到的回复是,这个奖项并没有什么意义,还是需要由插班测试和一段时间的观察来决定对我的水平的具体安排。
我听说了我的一个同学选择直接参加号家军的零基础班,但在我看来再从头学一遍 C++ 显然不太能接受,于是去参加了寒假插班测试。寒假插班测试在线上进行,分为 Div.1 和 Div.2 两场,他们说 Div.1 是省队级别选手应该选择的试卷,所以只能选择参加 Div.2。
Div.2 的测试卷给我印象最深的是一道博弈题,两人跳马。但当时的我并不能理解博弈为什么有一个被确定的胜者,我无法想象为什么一个棋局的胜者在一开始就确定了,所以我在思考了很久后,在 .cpp 文件中写下了“这种棋局是不可能有确定的赢家的,否则围棋等棋类运动就没有存在的必要了”。
在比赛结束之后,我看了 Div.1 的题目,然后立刻想出了 \(n\le 10^5\) 的 T1 的 \(O(n!)\) 级别的暴力。我高兴的和我妈妈说,我会了 Div.1 的一道题目,那么看起来省队离我也不那么遥远。在当时的我认知里,省队有整整 50 个名额,我也不知道什么是时间复杂度,所以只得出了很多可笑的结论。
插班测试结束之后,我被安排先跟随无锡分舵的线上课,线上课表现一直很突出的两个同学分别叫 cg 和 gzy,而我一直到线上课结束都没有注册 Codeforces 账号。
最后我得到的安排是,在开学之后,我会每周末去南京参加周日上午的课程。
( 2021 号家军寒假插班 , 2021 CSP-提高 ]
每周去另一个城市上课,这对当时的我来说是很难以想象的一件事。不过我知道不下三个同城市的同学都一直在做类似的事情,于是并没有非常害怕。当然,我需要提前做好各种准备,其中一项是尝试把我的学而思课程转到南京上。
在做这件事之前,我也首先联系了 wfh 妈妈,得知他现在在南京学而思的兴趣小组学习,是他们这里的最高班型。于是抱着能再次和 wfh 成为同学的想法,我参加了南京学而思的插班测试。
我顺利进入了兴趣班,但发现上课的地点和 wfh 所说的地点不同,再询问之后才知道,他跳了两级,跟着初三的学生一起上数学课。得知这个消息我才再一次知道了我离 wfh 有多么遥远,因此稍微有些颓废,最终也没有真正参加南京学而思的课程。
在之后的半年里,我开始每周前往南京上课。一开始,我会和同市的同学 fhx 一起去,我自认为自己在上课的时候非常努力,每次都坐在一进门第一排的位置,总是负责关门。但下课之后我就几乎不花什么时间来学编程了,或者说,不学习算法竞赛内容。我还是在日复一日的编写我的小游戏,并且假装自己在做题,完成 hb 的课后作业。
这一年的六月,我自己摸索出了 Codeforces 的比赛功能,并开始了自己的第一场比赛,什么也没做出来。不过在紧随其后的第二场比赛中,我做出了整整四道题,其实那场比赛我做出的第四个题仅仅是 D1。但当时我还是因此认为自己有 CF 做四个题的实力。
但抱着“我要在 Div.2 做出四个题”的心态,我却在很长时间里没能再次做出四题。在此期间,我也参加了 AT 的比赛,第一次 ARC 我做出了 B,之后我也每次在 ABC 冲击四个题,都无果。
直到这一年的 csp 前,我在一场 Global Round 中做出了 D1 和 D2,并且冲上了青名,我也因此对自己的实力开始有不错的自信。
这一年的初赛完善程序是四毛子。那道题目我可以说一点不会,但我蒙了五个成功蒙中了三个,因此成为了镇江市的绝对高分,进入那一年的提高组没有任何问题。
在初赛之后,发生了若干小插曲。第一个插曲是去年我和 tz 的普及组一等奖为镇江三中获得了若干个奖励名额,但当地的家长们看到镇江三中初赛分数很低的学生也能进复赛便去大闹不公,可能认为是科协在偏袒三中。后来的处理方法我也就不知道了,似乎当时的奖励名额规则也存在漏洞。
另一件事是,在我通过了初赛之后,老师突然找到我,询问我要不要放弃初赛名额。我一开始觉得非常无厘头,但后来他们说,希望的是初中生能把名额让给可以获得 noip 正式奖项的高中生,对他们来说,很多人都是最后一次机会了。
但我依然没有这么选择,我认为如果我今年能拿到提高组一等奖,就可以和 gzy lyx 他们一样,被 hb 挑去更高级别的班型学习竞赛内容,所以我也有需要这次机会的理由。
我参加了那一年的提高组,在当时,经过半年多的训练,我已经大概知晓什么是时间复杂度了。但比赛一开始,坐在我旁边的高中生就开始发力了,用非常快的速度敲击键盘,让我心惊胆战。
我一直听着隔壁快速敲键盘的声音,开始思考题目。第一题我大概花费了两个半小时,最后写出了一个我自以为是 \(O(n\log n)\) 的程序,但事实上,它是 \(O(n^2\log n)\) 的。对于第二题,我则写出了一个 \(O(n^4)\) 的 dp,给第三题随便写了点暴力,第四题输出样例,就结束了我第一年的 csp 提高组。
考试结束检查代码的环节,那个坐在我旁边的高中生开始和别人交流,说自己用“wei 算法”获得了 360+ 分。我至今不知道他说的算法是什么东西。我只记得和他交流的同学有一个穿着南师附中的校服,并且从他们口中听到了“省队”之类的字眼。
当时我对自己分数的估计是 100+65+20,185 看起来并不能算差。那天晚上我听了 dxm 的讲课,她 ak 了 csp-s,并且我在听完后觉得我的做法和她讲的基本差不多。
但在某一天 xdf 下课的时候,我妈妈告诉我,她在网上查询了我的估分成绩,只有 55 分。
我觉得这完全不可思议,所以很快使用了洛谷的自测。我一直不喜欢使用自测,总是做缩头乌龟直到官方结果出来,在这之前都不相信自己的程序有任何问题。我去掉了所有 freopen
,并且获得了 45+65+20。T1 比我自己的期望要低,但这个成绩远高于妈妈告诉我的成绩。
于是我看向了被我注释掉的 freopen
,在第二题的 freopen
里,我赫然写了两个 "r"
。
最后官方数据又多放了 10 分给我,让我得到了 55+0+20。省内分数线和全国统一分数线上分别是三等奖和二等奖,让老师和家长纠结了很久到底是省二还是省三。但对我来说都不重要,我在 hb 的喜报里看到了有六名初一学生获得提高组一等奖,其中 xqw 同学获得了 325 的高分,wfh 也拿到了提高组一等奖。
再一次仰望那些名字,我仿佛已经对这件事完全的麻木了。
唯一的一个小插曲是,在那年 hb 的某一个喜报上,我认出了其中和 djq、csy 坐在一起的一个人,是 csp 坐在我旁边的那个特别厉害的高中生。于是我妈妈去问了那是谁,被告知,他是那一年 NOI 全国第六的 ztr。
( 2021 CSP-提高 , 2022 CSP-提高 ]
初二的上半学期我依然在摆烂。cf 掉回绿名就彻底不管了,at 也从来没有达到过四题。后来有一次我第一次做出了四题,但 hb 却在群里发了公告,有一个六年级的选手 hgh 做出了七个题,今晚他来讲解这场 abc。
我妈妈感到震撼,去问 hb,这种学生是怎么学出来的。hb 给的答复是,这是天生的,没办法,我如果继续努力的话,初三可能能达到他五年级的理解力。
我是废物,我于是对自己有了非常深刻的认知。
到了寒假,我感觉自己不能再这样下去,所以再次捡起了 cf。在一场 EDU 中,我又一次做出了四个题,因为另一个同学的家长的建议,我为自己的这场 EDU 写了四个题目的题解,并鼓起勇气发给了 hb。
hb 阅读了我的题解,然后告诉我,我可以正式开始信息竞赛的学习了。我可以升入周六下午班学习,并且也祝我在新的一年获得提高组一等奖。那天我高兴了一整个下午,但其实我并不明白为什么我就这么被选中了。或许是 cf 四题才意味着可以起步的水平,但又或许是,在写题解这件事里,我表现出了即使在我身上也很稀有的,对信息竞赛的热爱。
同时,hb 也告诉我,镇江的竞赛政策并不好,除了省丹中,但省丹中我去不了。所以我初三可能会转学到南京,初步的决定是转到中华中学。
我第一次知道 hb 这边的竞赛选手都是全年只休大年初一一天的,初二他们就会到世贸训练。当然我的第一次去训练也是大年初五了。那天我进去随便找了个座位,然后发现他们在讲前一天的 abc。哦,那我做出了四题啊,看看 E 是怎么做的。
结果一上来就是直接由 sjc 同学讲 G 题的做法,大家都默认 A 到 F 是不需要讲的,我深深的震撼和惊恐。就在我期待 Ex 将会由谁来讲时,hb 注意到了我,看了我一会,然后告诉我我走错教室了,我应该去隔壁。
在隔壁,我获得了一大串题单。基本都是 Div.2 A/B 难度的题目,我对此感到迷茫,这种题目,我早就应该都会了啊?但紧接着的要求是,尽量一次提交 AC。于是我开始在小房间里做这些题目。
偶尔,隔壁教室的人会来小教室打模拟赛,我还见到了 djq 和 dxm,以及其他一些当时并不能把名字和人对上号的选手。我是唯一一个和其他人不同的选手,我在打基础。尤其是六年级的 qjm 当时已经在和他们一起打模拟赛了,为此我感到不小的自卑,在别人试图看我在做什么题的时候我会试图遮挡,并且打开一些更难的题的题面挂着。
但十分神奇的,仅仅是不断的大量完成 Div.2 A/B 的题目,我的水平迎来了很大的提升,在之后的一学期中,我的水平快速上涨,最后达到了橙名。虽然我一旦上橙的下一场 Div.1 就一碰就碎,但每次都能靠打 Div.2 打上去。
在这一个学期里,我也逐渐有了开会议给别人讲题的资格。在周六下午班,我也认识了许多人,比如 cqbr 和 ft。ft 在当时的我眼里非常传奇,因为他本来是镇江人,后来去了苏州。他在镇江时期非常优秀,留下了非常多的故事,早在我接触信息竞赛之前,我就听过他的名字非常非常多次了。第一次知道他也在 hb 这里学习 oi 我也非常惊喜。
那年期末考试,hb 第一次安排我参加 noip 模拟赛,我为此非常激动,第一次模拟赛之前,我提前十分钟就准备好座位和环境,然后整场比赛都非常认真,当作比正赛还重要的比赛对待。
那一年的暑假,我大半个暑假都基本在南京集训。在这里我认识了许多新同学,比如在世贸电梯上认识的第一天来这里的 gqh。后来 hb 安排我和 gqh、ajh 一起打杭电多校,acm 非常快乐。
我们住在全季酒店,在晚上我们会在酒店大堂打 abc 或者 cf。一整个暑假我都试图冲击 Div.2 的 E,但没有一次成功。abc 结束之后,则会在酒店的会议室听 gzy、ych、sanwei 他们讨论题目。
这半年和我最熟悉的 oi 同学是 jsz,他是丹阳的学生,理论上都是镇江人,但比我们这些市区学生高一个档次。而且他的水平非常高,我看了许多他做的题目,都是我完全不能入手的题。
暑假的最后,我要代表学校去参加一个生物实验比赛,因此不能参加 hb 组织的看电影活动。可能 hb 以为我是要参加 BiO,告诫我竞赛只搞一个就行了,不能分心。我告诉 hb,我初三可能要离开,所以想代表镇江三中参加最后一次比赛。
还有 eps 天开学,hb 告诉我去明道参加入学考试,到了明道,我才发现原来 gqh 也在。我们的成绩应该都很好,顺利进入了明道,因此我在短短的几天里完成了从准备到转学的流程,最重要的是,我本来就是南京人,所以转学这件事顺理成章。
很快我迎来了我的 15 岁生日。我在这两天的发挥出奇的好,连着一天里的模拟赛、abc、cf 都打出了历史上最优秀的成绩,让我以为自己迎来蜕变了。但紧接着的 arc 又把我打回了现实。
那年的 CSP-S 初赛,我的分数是 78。hb 说这个分数很危险。然后苏州/无锡先出了分数线,是 86 分,我几乎放弃希望了,初三一年被初赛干没是非常可笑的事情,甚至连 hb 都到学校来安慰我,告诉我初三这一年的比赛打不成就算了,只要高一别再这样就行。
但神秘的是,最后南京的初赛分数线低了 10 分,把我给放过去了。我这个分数算是把自己、家长、hb 和学校教练全折腾了一回。
那年因为疫情影响,CSP 和 NOIP 能否如期举办都是未知数,事实上,它们最后都只能在临时场馆举办。CSP 的 T1 我就难住了一会,但也没遇到什么太大的问题,T2 我复制了八个 st 表顺利通过,最后我卡在 T3,写了 40 分的暴力。100+100+40+16 离场了。
出场我碰到了之前在镇江学数学的同学 wy,他说他拿了 260,我为此非常震惊,而且在此之前我都不知道他也在学习信息竞赛。于是在回去的路上,我又开始不断的怀疑自己。
估分成绩没有挂分,而 gqh 的 T1 挂了很多,是 216。我看到大家挂完一轮分似乎都没有我高了,心里好受了很多。然而在某个网站的估分上,我的 T1 也挂了。于是我也跟着紧张了起来,既然有可能挂分,那么最终成绩是多少就成了未知数。
我没挂,这是好消息。
但 gqh 的 T1 在官方数据也几乎没怎么挂,变成了 292 分,比我高了特别多。我感到非常的难过和不平,而且意识到初中生的 csp 分数将会影响到很多东西,比如清北营。
初中生最高分是 qzx,他拿到了 360 分,xqw 也有 334 分,初一的 qjm 获得了 316。还有一个初一的叫 pmd 的选手,刚学了半年多就获得了提高组一等奖。我期望了很久的提高组一等奖并没有让我获得如期的欣喜,反而对未来有了更深的忧虑。
( 2022 CSP-提高 , 2022 NOIP ]
在 CSP 取得成绩后,我们完全开始了半停课学习。每天只上上午半天学,下午用来训练。我们的训练内容是 vp edu,从 edu 32 开始,一场一场往后做,先 vp,后补题,在这期间,我发现 He_Ren 也曾经做过类似的训练,edu 的场次中都留有他的 vp 记录,让我也备受鼓舞。
在此期间,也认识了 absi,他是被 hb 安排到明道来给小朋友们授课的。我和 gqh 在此期间也加入了 absi 的 acm 群,成为了我 oi 期间第一个可以称之为选手交流群的东西,这里还有 sanwei、ych、chw、xzh、zyh。
这一段时间很短,所以没有特别多可以写的东西。
NOIP 的考场上,我写完 T1 之后就打开了那道喵了个喵。但我意识到自己不会做之后就跳过了它,并很快意识到 T3 是我学过的边双,缩成一棵树之后就可以开始 dp 了。
写完 T3,我意识到一个严重的问题:我没法测试。
我不会开无限栈,所以无法测试最大的数据点。那年 JS 的评测机制是有一个线上的 JSOI 测评平台模拟 NOILinux 环境,而且奇卡无比,效率完全不能参考。
抱着赌一把的心态,我就这样提交了代码。
对于 T4,我写了前 \(20\) 分,然后对剩下的分数进行乱搞。但这里我做出了神秘的行为,我下意识的以为一个点五分,所以在数据分治的时候写出,如果 test_id
小于等于 \(4\),就进行靠谱的暴力。但想拿 \(20\) 分实际上得对五个点跑暴力,所以我光荣的少了 \(4\) 分。
运气很好,100+15+100+16。如果说考场上还有什么遗憾,就是据 jsz 所说,他在结束时看到了我并在我背后喊了我,但我一直在想着刚结束的考试,所以并没有听到他。
我满意这一次的成绩,我妈说这个成绩是江苏省初中生第六名,我也因此第一次看见了能在高中进省队的希望。但我也第一次目送了许多人离开。许多耳熟能详或十分熟悉的人,他们或许只是因为因为死磕一道喵了个喵,或者 T3 因为链的大样例挂了分,高一赛季就几乎没有希望了。
我第一次见到了 oi 的残酷,以及熟悉的人的离开。
( 2022 NOIP , 2023 联合省选 ]
接下来半年的训练一直非常平淡,没有特别的事情发生。唯一值得称道的可能是疫情假期里 CF 打上了 IM。对寒假也没有什么特殊的印象。
在下半学期开始,hb 让我们跟着 nju 的 yyt 老师的线上课学组合数学,我一直坚持着做这件事。
在省选前,我的目标一直是打入 JS 的二倍队线。当时一直认为省队名额 16 个,那样二倍队线就是 32 名,按照我 noip 的成绩还是很有机会的。
然而在省选的前一天早上,我突然得知了 JS 省队名额变成 12 个的消息。对于现役选手们,他们更多更早一些关注,可能前一天下午刚发出来就知道了。但 16 变 12 对大部分选手来说都是噩耗,没人预料到这种情况。虽然只是减少了四个名额,但排除掉那些稳稳进队的选手以外,剩下名额的竞争一下子激烈了数倍。
在这一年省选的一开始,这条特殊的消息就几乎影响了所有人的心态,在那一天里,我看到现役选手们都在互相安慰,调整心态,我注视着这一切,不知道自己应该作何感想。
省选终究还是来了,day1 我很快做出了 T1,然后思考很久 T2 无果后,发现 T3 有很大量的暴力,于是吃下了 48 分的启发式合并,最后一直做 T1 无果。当时我的旁边是 sjc,后来我才知道他在结束的时候看到了我草稿纸上写的 100+25+48,这个具体分值甚至我自己后来都不太记得了。
然而 day2 的考场上我直接死磕了过河卒,并且在比赛开始后四个小时,我调出了 10K 的代码,通过了大样例。那时的我算下了 273 的分数,觉得这个分进二倍队线,即使是 24 也有一定希望了。至少可以有三倍线了。
于是我尝试写了 T2 的暴力,但时间不够还是无果了。在我上厕所的时候我在厕所里遇见了正在捣鼓厕所门的 ymx,当时我还不知道他考出了怎样的高分。
比赛结束之后,我认为 100+0+0 虽然不算很好的成绩,但至少我在考场上尽力了,所以并没有过多的感伤。但在查询估分的时候,我意外的发现自己的 d2t1 挂成了 85。
我的第一反应是测评机太慢了,但再看一遍错误状态是 WA。为什么是 WA 呢?我去问了别人,最后知道,我没有判红点重合。
现在就是祈祷时间了,既然是 WA,那么官方数据是多少分都有可能。
所有人都知道那一年的结果,没判红点重合的得分是 20 分。
江苏省队名单公示了 35 人,几乎是三倍线了,依然没有到我。不过也没有人会在意我的成绩,因为这一年的省选太过惨烈,我的 d2t1 变成 20 分对我其实没有什么影响,但对很多人来说就是命运的转折。
第二次目送了熟悉的人离开,很快,似乎就要到我了。
( 2023 联合省选 , 2023 CSP-提高 ]
省选之后,我开始出问题。在不断的训练中,gqh 变得比我更强,我越来越难以赶上他。尤其是他的 csp 成绩让他可以参加那一年的北大营,让我感觉自己不知不觉间被甩开了太多。
我出了什么问题呢?我开始不断地质疑自己。
我怀疑自己做的每一件事的正确与否,怀疑自己到底什么地方做错了。我是不是不应该一天只做一场 edu 然后花太多时间写题解,我是不是不应该去听组合数学课,我是不是不应该参加太多没用的学校活动。
我错了吗?可能其实我做的最错的事情就是不断的质疑自己。
然后我参加了南京一中的特长生考试,最后的结果是没有进入丘班,而 gqh 和 qzx 都进了。我崩溃于这样的结果,然后心情不断因此而低落,最后我的状态惊动了 hb。hb 告诉我,如果我再这样下去,可能高一的联赛就退役了,如许多我认识的人一样。
我恐惧,所以我推着自己又往前走。
在这段时间里,我们也常常被叫到河西去训练,虽然不能参加 NOI 级别的模拟赛和训练,但很多课程却是一起上的。所以认识了许多那一年冲击金牌的省队学长。
暑假的一开始,hb 推荐我们去参加 nju 的“计算理论之美”讲座的第一讲,于是去听了概率论,感觉非常好。于是和 yrq 在接下来的三天里也每天跑去参加。或许自己的开心和讲座开始前的另一些事情有着密不可分的关系。
除此以外,我们还在 nju 的 kfc 遇到了 SF,他给我们赠送了徽章,这也是我第一次在线下遇到过去只在网络上听说过的人。
暑假开始就一直在世贸训练,直到 NOI2023 开始,我们的训练暂停。NOI2023 那天晚上,大家在群里交流成绩,知道了高我一届的 sjc 和 miao22 拿到了金牌。他们在群里交流小赢还是大赢的话题,而我一直憧憬着,什么时候会轮到我呢?
NOI 之后,hb 组织了两三次的玄武湖徒步活动,我对这种活动一向非常积极,并且在此期间认识了当时已经金牌的学长 tony2。
成为现役选手之后,我也被 zph 拉进了致远星群,在里面认识了很多人。当然,我一进群就带来了一些风波,比如我的烂完的 noip 模拟赛,我的感觉是并没有给各位群友留下好印象。
回归现实,我的初赛又烂了一次,虽然并没有和前一年一样烂到险些进不去复赛的地步,但还是因此被骂了。
在复赛排队的时候遇到了很多学长,他们大都刚结束今年的 NOI,我选择和他们一起进场。那一年的比赛出人意料的简单,拿到 400 之后就开始坐牢了。出场之后听到 sjc 在报做法,但他的做法好像比我的复杂一些,顿时怀疑自己假了。
回家之后坐在地上提交了自己的代码自测,都没有挂。不过看到排行榜上数量众多的 400,喜悦的心情还是冲淡了很多。
( 2023 CSP-提高 , 2023 NOIP ]
CSP 之后是 NOIP,但在 NOIP 之前,大家首先讨论的是今年的省队名额。省队名额分成三类,B1 B2 B3,分别取决于参赛人数、本省平均分和本省一等奖分数线。
NOI2023 江苏省 12 名额的直接原因就是江苏的 NOIP 几乎不设限,高中生几乎只要参加了 CSP 即可参加,所以只保下了 B1 的数量,B2 和 B3 几乎没有。而江苏既没有浙江的整体实力可以把 B2 B3 打高,又选择了多发放 NOIP 省一的政策,最后导致的就是省队名额的减少。
但今年的所有政策都没有直接的变化。上一年的两届选手最终可是拿到了 8 枚 NOI 金牌,我们这一届上来之后,真的能打的比他们更好吗?
进场 NOIP 之后,很快做出了 T1 和 T2。这时候我对 NOIP T3 的难度预期仍然是 NOIP2022 T2,我认为这只是把去年的题目难度交换了一下顺序而已。经过了漫长的折磨,我突然找到了一些奇怪的性质,写写就通过了大样例。
此时我还对 T4 没有什么奢望,于是先给 T3 挂上了拍子,拍子挂上立马拍出了一个错,但检查了半天发现错误在拍子上,非常郁闷。又挂上之后拍了十秒就拍出下一个错,这次花了很久的时间检查,但最后又发现错误在拍子上。
因为拍子写挂白白浪费二十分钟这种事实在是太可笑了,我拍上之后就立刻去看 T4 了。啊?这是 T4 吗?我不是很敢相信,但还是很难觉得自己弄错了。于是我在最后的一个小时里写了写试试,并在半个小时之后通过了大样例。
好像结束了,我出考场之后没敢和任何人交流,我还是很难相信自己能在 NOIP 拿到满分。在考场外等家长的过程中我也一直比较恍惚,什么也不做。
NOIP 的民间数据比 CSP 慢了很多,于是大家先测试了所有代码在大样例上的运行情况,有将近 20 个人通过了全部的大样例。然后是民间数据,开始把一些 T3 非线性做法和大常数做法卡掉,而我一直没有怎么出问题。
唯一一次惊险的时刻是某个机子比较慢的网站给我的 T3 卡出了 85,但看了一眼别人的成绩都被 TLE 了一些点,顿时也不慌了。最后的结果是 400,而 JS 一共 12 个。其实对我来说,已经算是非常不错的成绩了。
但真正的坏消息是经过大家的推算,今年的省队名额恐怕又是 12 个。
( 2023 NOIP , 2024 联合省选 ]
得知 12 省队的时候,我基本就没怎么幻想高一可以进队了。太难了。NOIP 之后世贸又来了一些人,我们回了一趟学校参加活动,并且第一次和自己的同学 qzx 线下说上话。
之后的训练又没有什么值得记忆的点。不过大概是从这个时候开始,我们不再去世贸 15 楼,而是基本呆在 13 楼了。这段时间倒是有许多和我没什么关系的比赛,比如 CTT zxb 拿到了 rk7,还有自称要退役的 miao22 拿到了 WC 的满分。
虽然我参加了 THUWC,但这场比赛的 day2 工程题我发烧了,最后靠着 day1 打的还不错混到了一个一等奖。NOIWC 我不是很想去,只想寒假多点时间玩,于是就没有报名。
在这期间发生的大部分事情都和人际关系有关,唯一值得记录的是 miao22 试图在过年期间举办致远星鲜花大赛,我写了《十二七重歌》,然后他跑路了,因此没有了 ddl 我就越写越长,最后成功烂尾了。
省选到来之前是 SXOI,于是我看了他们的题目,大概能做不少,但群友似乎都能做不少,所以对自己的心态并没有太大的帮助。
在省选之前大家排列了可能进入省队的选手名单,印象深刻的是 xqw 将一系列选手划分为两个梯队,并且结论是第一梯队的选手划分完名额后,第二梯队的选手要争夺余下的 \(-1\) 个名额。
省选试机赛遇到了 miao22。我们一开始都以为他不会来了,他会不会再进一年省队这件事让当时的我们都很惶恐,毕竟 sjc 已经确定要打了。
省选 day1 考场上我开局并不是非常顺利,T1 拆切比雪夫做了整整一个小时。然后就是 T2,我先搓了一个假的不能再假的做法,并且真的将它写出来了。写的过程中不断遇到各种问题,去修补它,最后调的时候也一直在大段大段的更改假掉的代码。
就靠着这样缝缝补补的写法,我把这个 D1T2 奇迹般的混过去了,它通过了所有大样例,此时还剩下半个小时。我很快简略的打了打 T3 的 24 暴力就离场了。
在出场后的群聊里,得知大家基本都做出了 T2,并且 T3 大家都只会 24 到 40。但大家都在说 T2 的各种做法,尤其是第一步的关键性质,其实我压根就没有发现。我完全不能信任自己的做法正确性和大样例强度。
那天晚上我们等待了很久测试结果,一开始测评机卡死导致大家都在 TLE,我们一直等待到测评恢复正常,提交了江苏省的所有看上去正确的 T2 代码。
我没有出问题,而很多人都是 \(2\log\),他们被卡了非常多的分数。那天晚上有人在群里说,day1 打到 200+,day2 可以随便打了。即使没有人这样说,看到其他人的成绩我也很难不这么觉得。于是那天晚上我严重的失眠了,带着似乎有机会进入省队的激动和紧张。
day2 我开局就不会做 T1。
经过两个小时的纠结和折磨,我决定去写那个我唯一会的,看起来常数不大的 $3\log $ 的做法。我写完了,没什么大问题,跑起来的速度也很快,如果不是我自己知道它是 \(3\log\),我完全不会为这个代码而紧张。
D2T2,我推了很久的容斥,最后基本全部假掉了。T3 我一点也没有看,全程在缝补 T2 假掉的各种式子,最后 30 分钟开始拼 T2 的暴力,很多部分的代码都来不及重新写,直接从假代码的部分里抓取。
我最终拼出了 200 多行的代码,甚至最后有几个部分完全来不及单独测试样例,通过编译之后就直接提交了。它们的理论最大得分是 32,但我自己也知道,能拿到 20 就是万幸了。更何况我还有一个完全不靠谱的 T1。
出考场之后我没和任何人交流,因为在考场里我就听到了 gzy 在报做法,使用枚举集合划分的暴力再特判一些特殊的数据点就几乎可以通过。我觉得这一次是彻底完蛋了,day1 积累下的优势基本要被翻盘。
从南京回到镇江,我自己一个人思考了一路自己的代码。回到家的时候,自测数据已经出来了。我顶着巨大的压力和恐慌将自己 day2 的代码提交并测试。100+20+0,并没有挂分。看到这个分数我瘫坐在地上,然后才颤抖着打开了群聊,去看别人的成绩。
120 的确是最低的成绩,但大部分人并没有比我高出特别多。所以我大概是进了。
( 2024 联合省选 , 2024 NOI ]
进省队对我来说是完完全全的意外之喜,我在省选之前还在考虑高一买不买 D,但是现在我居然进了省队。
我对 NOI 没有认知,也几乎没有考虑过其实很快就要到来的当年的 NOI。省选之后我一直在摆烂,包括刷一些省选成绩和关于江苏省队的宣传,从来没想过,其实省队的目的是要去打 NOI 的。
我这样整整混过了两个月,其他人对于 NOI 的紧张一点也没有传染到我,我即使在世贸也是一直摆烂,机房里的大家除了我还有 cxm、chw,我们作为高一选手,也都不怎么认真。我们玩了很多 pvz 和 mc,我也经常看别人玩游戏或者看视频。
世贸来的新人不多,而且大家都很快混熟,那段时间里唯一比较良性的东西就是大家会在晚上出去跑步,并且交流一些有的没的的东西。其他的训练基本都很自由,大家弄完模拟赛都在自己找题做,做完了就摆烂。当时也尝试给自己指定过一些规则,但最后都没有遵守。
直到四月份底,突然有消息说要举办江苏省的省队集训,在这件事上有很多消息淹没了我,我在希望参加和不希望参加之间摇摆不定,最后他人的蔑视让我彻底崩溃了下去,在群里发了一次疯。
sjc 第一个找到我,他和我打了一通半个多小时的电话,安定下了我的情绪,并且和我详细讲述了省队集训的流程以及目前的安排。然后找到我的是 miao22,他没有和我说很多东西,他只告诉我,从今天开始,把每天的题解给他看。当时的我并不知道这意味着什么。
然后我去了清北营,清华营大战提答,第一次见到了 ylx 并被安利了 toptree。北大营则打了一个还行的成绩,虽然切的题不多,但暴力打满了,策略也非常对,把这件事告诉 miao22 之后,他也很高兴。miao22 最后花了很多时间帮我一起研究 d1t3 的交互题。
北大营结束就是 APIO,住在学校里。miao22 鼓励我换了房间,于是最后和一直崇拜的 zxb 一起住。算好时间之后,我和 zxb 一起去找了花花,其实我一开始有些害怕,因为过去某一次我把花花坑了,但他看上去并不在意这种事。
因为住在学校的只有我们三个,所以我和花花、zxb 一起打车去吃饭的地方。在路上,他们一直在交流我听不懂的问题,在当时的我眼里他们就是国家队和未来的国家队,虽然我想不明白细节,但还是一直尝试跟着他们的思路。
APIO 本身是一场没有意思的比赛,T1 的难点在搓 scc,T2 写了很久但最终有惊无险,然后发现 T3 随便搞搞就能过。但 APIO 和大家在一起非常开心,晚上也经常和 zxb 一起聊天,比赛日结束那天晚上和他一起聊到了很晚。zxb 还去抗议 miao22 让我写题解导致我不能和他聊天,所以 miao22 免掉了我 APIO 的题解。
最后一天,zxb 提前走了,所以我一个人在学校住最后一晚。这时候 gzy 在群里说可以出来玩,但我不知道我怎么出去了,所以只能放弃。但这个时候花花告诉我,他可以带我出去,所以跟着花花去找到了 gzy、zph,也认识了怪兽。
和他们度过了非常美好的一晚,也和花花交流了许多比赛的策略,对 NOI 有了许多自信。
APIO 回来就是一直念叨的江苏省集,在河西举行,miao22 负责了第一场模拟赛。我按照 miao22 一开始的要求努力完成,最后搓了一个还凑合的 t2,大概是完成了任务。那天下午 miao22 带我去河西操场上边走边聊了很久,还和我踢了球,让我对未来又有了更多的希望。
后来,miao22 还会在晚上来到世贸和我们一起跑步,当然,大部分时候的交流都是为我提供 NOI 的自信。我也相信自己会在今年的 NOI 拿到一个不错的成绩。
不过在 NOI 之前,我的训练却稍微出了些问题。我不知道做什么,并且沉迷了很长时间的星露谷,在玩游戏的过程中,我把自己的眼睛弄坏了,无法长时间盯着电脑。与此同时我却对 NOI 抱有着不知哪来的迷之自信,想象自己在金牌之后的生活,并抱着这样的心态进入了重庆育才。
在 NOI,我甚至完全把时间弄错了。我把所有日子都记错了一天,导致我在安顿下来之后才知道当天下午就要笔试,而 day1 就是明天。虽然对我的复习没有太大的实际影响,但它一下子打乱了我的心态节奏,我被迫接受本来以为的比赛比我的想法早了整整一天。
笔试下发了上一年选手的答案非常可笑,而我的座位上一年错了一题,被我发现了。如果我没记错的话,我是 JS-013。但接下来的试机我没有调出 NOIP2023 的 T4,它通过了后一半测试点却没能通过前一半。我为了早点回去,没有继续调出这个题。
在自习室和 sjc、zxb、qzx、crz 一起,简单的说就是混进了 A 队里面。而当时我的室友是 jcy 和 cy,他们的要求则是十点熄灯,当时的我对此并不理解,我还是保持了和一起的其他人一样的节奏,十点之后忙了些自己的事情才回到宿舍。
NOI day1,我很快做出了哈希的 T1,然后又花了两个小时多把 T2 搞到了 82。我难以想象这是一种怎样的开局,182 放在前一年的 NOI 已经接近了队线,而我还没有打 T3 的暴力。
我做了很久 T3,最后零零散散拼出了 28。当时的我真的以为,210 这个分数已经稳稳的达到了那天的队线,在 28 之后就直接尝试去冲击 T3 的正解,想要妄想 282 这样的分数。
拿着 210 出场,我碰见了 gzy 和 cxm,并立刻询问了他的分数,他告诉我他是 260+,而 cxm 是 230+。当时我一下子意识到,或许这场比赛,没有我想象的那么难。
day1 结束之后的那段时间,气氛一直有些沉闷。zxb 拿到了 291,sjc 是唯一的 254,qzx 和 crz 都考得并不好,一个被 T1 缠住,一个则砸在了 T3。虽然我和他俩分数差不多,但其实对我来说,我本来就不是和他们一个水平的选手,所以也不能算打的很差。
但依旧很压抑,查分的时候我碰见了花花,他告诉我这个分数要把 day2 当 day1 打。其实我当时并不明白这是什么意思。只知道了队线大概是 230~240,所以我想拿金牌需要在第二天翻 30 分左右。在换脏衣服的时候见到了妈妈,和她聊了一会,并坚信 day1 的 T2 题目有些乱搞,我们这些传统强省的选手很有机会在 day2 翻盘。
中途社会活动出去跑了一整天,一开始感觉自己有些水土不服害怕中暑,尝试请假但最后受到了不可抗力的阻碍,去那边半死不活的转了一大圈。那天晚上 qzx 和 crz 在看往年的 d2t2,他们都说明天切掉了 d2t2 就能翻盘,我也相信了这一点,但并没有做题。
很多人告诉我,day2 可以放手一搏了。除了花花和 gzy。gzy 在前一天晚上和我讲了他高一是如何拿到铜牌的,我觉得有些不可思议,但没有问更多。我想,我 day1 的分数不能算很差,无论怎么打,银牌都该是稳的。
day2 的一开始,我做出了 T1 的 70 分,然后就转向了 T2。拿下 d2t2 就可以翻盘金牌,我如此告诉自己。
我花了半个小时搓出了 T2 的做法,半个小时写完了它,然后开始了漫长而倔强的调试。
我失败了。
在后来很长时间里,我对这场比赛我的记忆一直是 85+0+0。但写这篇文章时翻阅了 day2 查分时的聊天记录,才一下子回忆起来,我的分数是 70+15+0。我在最后的十分钟,带着一腔绝望,把自己的代码改成了 15 分的最简单的暴力,离开了 NOI 的考场。
到这个时候,我还没有意识到 NOI 有一种可能的结果叫做铜牌。直到我把分数告诉 miao22,miao22 说,好像银牌不一定稳。
我当时有些迷茫,银牌不一定稳是什么意思?
那天下午我花了很长时间接受自己的铜牌,而 qzx 好像成功翻盘了,在打游戏。sjc 虽然 day2 爆炸了,但他已经拿过一次金牌了,这一次的比赛对他来说不算决定命运。zxb 一如既往的稳定,在算自己能不能捧杯。路过某个自习室的时候看到了很多熟悉的人,xqw 他们在写家长群喜报。
我漫无目的的游荡,看着别人的快乐和悲伤。直到那天晚餐的时候,qzx 突然接到一通电话,他爸爸告诉他,他并不是 rk50,而是 rk51。
我可能一辈子都忘不掉他当时的样子,他一下子有些恍惚,我们也有些恍惚,反复花了好几遍,才确认这个事实。
然后就没有见到 qzx 了,他离开了学校。
那天晚上,我先去 zxb 他们宿舍,和 zxb、tony2、sjc 一起看了一会 gbc,但 crz 还在睡觉,我也不是很感兴趣。于是我去找到了 xqw,和 xqw 一起去了楼上 zph 他们房间玩。
先玩了三国杀,但我好像搞砸了整局游戏。我学习的三国杀规则是来自某次出去玩的同学,而显然他们都是在乱教,所以我学的规则是错的,因此我在游戏里做出了很多完全没有道理的行为。
我和大家玩的很开心。这时我妈妈给我打来电话,我走出热闹的宿舍,在冰冷漆黑的走廊上,我妈在电话里和我商讨下一年训练的事宜。
其实我几乎无法表达自己的看法了,因为那一刻我意识到,房间里的学长们,无论金牌银牌,他们和 NOI 都很难再有关系了。只有我是不同的那个人。我是来这里麻醉自己的,而我也必须一个人走出去,走向属于我的下一段路途。
后来 gzy 带我在我的电脑上下载了杀戮尖塔,指导我玩了第一局,惨死第勇。
然后大家都要睡觉了,zph 和 xqw 甚至睡上了一张床,于是我回到自己的寝室摸黑又开了一局杀戮尖塔,成功通关了。
第二天我没有去领奖,而是一个人跑回了宿舍,却发现 crz 正在收拾东西。他拍了拍我,告诉我明年好好打,然后转身离开了,我看着他离去的背影,想到三天前我们还都相信他能稳稳拿到金牌,开幕式的时候他还一直好奇着我的聊天记录,心情非常放松,想到这一切,我突然一个人流下眼泪。
《我与 NOI》,我专程去看了 zxb 和 ylx 的演讲。并和 ylx 交流了一段时间的 中v 和 ddlc。然后我的第一次 NOI 之旅就到此为止了。
当然,我并没有就此离开重庆,我妈妈带我去见了梦熊的老板 wj,并且商量了我下一年训练的事宜。然后第二天我离开了重庆,就这样结束了我的第一次 NOI。
( 2024 NOI , 2024 CSP-提高 ]
NOI 结束的第一件事是 whk。我听说 chw 他们 NOI 结束第二天就开始了训练,并且八月就全程在北京,我当然做不到。我和 gqh、qzx 都在线上补课,大概是为了减少省选前的学考的压力。
其实我也没有认真上课,我基本在玩,对我来说,这也就是调整心态的一段时间。
之后,我开始打各种地方的模拟赛,梦熊、正睿、大卫的模拟赛我都尽量按时参加,hb 的模拟赛也从没落下,几乎把时间排满了。有的时候一天要打两场比赛加补题,miao22 经常和我表达,觉得我模拟赛打的太多了。当然,的确是这样的,后果是某些我认真参加的比赛成绩也像是在开演。
初赛我闹腾了一下,在车上说了一句今年如果没过初赛可能可以吃到 NOIP 的奖励名额,被父母批评了没志气,因此闹了一会。但初赛也的确没出什么大问题。
17 岁生日,我又遭遇了一些事情。miao22 稳住了我的情绪,于是我决定把那篇本来写给 miao22 的鲜花大赛的《十二七重歌》写完。最终第一版定稿在了 66499 字,我把它送给了 miao22,为此给高一赛季的一些执念写下了最后的句号。
复赛,在考场上遇到了 xqw,并且发现他就坐在我旁边的隔一个座位。在考试开始前和他交流了 OI 游戏论,其实每个人都是带着两条命去打 NOI,CSP 是新手教程,然后 NOI 是关底 Boss,铜牌是坏结局,银牌是假结局,金牌是真结局,打通真结局开启 dlc,初中打 NOI 相当于内测玩家提前打体验服。
在考试开始之前,xqw 没有鼠标垫,看到我和他中间的那个人没来,于是顺走了。那个人来了之后还问为什么自己没有鼠标垫。
很快把 T1 T2 T3 都过了,然后做了挺久的 T4,做完还剩下一个小时,拍上了 T4 就开始坐牢了。那天考试还出了点状况,我们考场的监考老师不知道是什么情况,不允许学生在最后十五分钟写代码,还因此和不少学生起了冲突,但我是没说什么,毕竟我不需要的确写代码了。
考场一出来就先和 xqw 交流了做法,讲了自己的 T4。然后见到 qzx 又互相对了一下做法,发现都是一样的,就直接快乐回家了。
直到过了几天,gqh 突然问我考号是多少,然后告诉我我的 T3 T4 都挂了。我看了一眼,T3 不知道哪里挂了,T4 多测没清空,洛谷得分 280。
非常郁闷。最后官方数据挂了 105,295 这个分数不如大部分没做 T4 的人了。今年可能也去不了 WC 了。但对我来说最关键的是,我为什么会挂这么多分呢?我非常惶恐,寻找不阻止自己继续挂分的办法。如果是 NOIP 出现这样的失误,我恐怕已经退役了吧。
( 2024 CSP-提高 , 2025 省选联考 ]
CSP 到 NOIP 中间有漫长的一个月,这一个月发生了许多事情,但并没有什么是真正值得记录的。
miao22 开始更加严格的对待我的题解了,会把我做的每一题都做一遍,有的时候会感觉自己很没用很废物,他退役了这么久,做我的题目都能一眼做出来。他似乎也看出来一点,问我有没有这么觉得,我没有承认。
当然好消息是今年更改了省队名额的规则,很有可能回归 16 省队。而且因为本省的最高五人成绩会参与全国评分,因此把现在高三的集训队们都叫了回来。
NOIP 考前,hb 问了我家的地址并给我点了饮料,拿到手是冰的,所以去加热了喝了。在入场的时候碰到了 gzy 和 zph,感叹了一下原来 NOI 已经过去这么久了。
NOIP 的 T1 一下子把我震住了。我写了整整两个小时,什么都没写出来,当时我有一种深深的无力感,觉得自己就这样关掉电脑退役算了。但仅剩的力量还是撑住我,越过了 T1,很快做出了 T2 和 T3,此时是比赛开始三个小时。手里有了 200 分,我心里稳住了很多,把 T1 的做法推翻重来,很快写出了正确的题目。
最后的一个小时多,我开了 T4,我深知自己几乎没有什么时间了,推了大概 20 分钟的时间就直接开始拼 64 分的暴力。我高二了,无法承担冲一个题而全盘皆输的代价了。
364,似乎并不是不能接受,但太多人获得 400 还是让我很难过。虽然这个成绩苟在了队线里,但省选的容错依然很低,更重要的是,我带着这样的水平,就算能进省队,是要再打一次 NOI 铜牌吗?
然后我又担忧了很久自己的 Sub3 有没有拼挂,但最后的结果是没有。在拿到官方成绩的那一刻我如释重负,并且我和 miao22 说,看到成绩,我有一种非常感动和安心的幸福。
省队名额回归了 16,这非常好。
NOIP 之后不久,我们要回学校准备学考,在准备学考期间我的训练量又明显降低,让我有了些惶恐。但学习期间还是有一些快乐的事情,比如元旦节的集市和活动,见到了 crd,才想起自己还有这么个学弟。
PKUWC 又是一场 day1 还行 day2 烂完的比赛,我甚至没有什么力气复盘了。而 NOIWC 因为 CSP 太低去不了,最后整个现役期间一场 WC 也没去成。好笑的是 chw 和 gqh 也都因为 CSP 太低去不了 NOIP,占到了身边认识的去不了 WC 的人中的 3/3,所以有了个名字叫“南京市第 3/3 中学”。
省选前我遭遇了一些变故,心情跌落到谷底,并且突然很想就此放弃。我记得当时 miao22 和我说,哪怕是为了他,不,他的那一份他允许我放下,至少为了所有在乎我的,希望我能成功的人,去省选拿到所有自己能拿的分数吧。
我在此期间写下了《我将击碎命运之轮》和《让我忘记一切吧》两篇鲜花,用以告别自己对过去的恐惧和依恋。
最后我还是得以以一个不错的心态去面对省选。
省选的 day1,我通过了追忆,然后打出了 T3 的 52。100+100+52,甚至我认为自己有希望冲击一下满分。我的信心一下子又充足了,开始计算自己需要多少分才能进入 A 类。
但 day2 依然缚住了我,我很快看出了如何把 T2 的 C 性质转到正解,我也看出了 C 性质就是去年的 D2T2。但可惜的是,我不仅不会,我还记错了。我往相反的方向搓了一个错误的容斥,它什么也没通过。最后我拼下了 24 的暴力,100+24+8 离开了考场。
为什么呢,我不甘。
回镇江的路上,似乎我这个分数还是能有省队的,但我为什么只有这么点分呢?
当时的我想,因为我不够热爱。因为我不喜欢 OI 本身,总是以功利的态度对待它,所以在去年的省选之后,我没有继续补题,而是认为考过一次的内容短时间内不会再考一次。事实上,我从来没有补过正赛里没有做出的题目。
gzy 发给了我他曾经写的 DAG 容斥技巧,我很快学会了 d2t2 应该怎么做。但这并不是一道题、一个知识点的问题,是我压根就不会和他一样去探索去学习自己感兴趣的内容,我永远只用考试的工具去对待 OI。
我不够热爱,可我已经走到这一步了,没有回头路了。
d2t2 又因为多测不清空挂掉了 12,于是我两年省选的 day2 都因为同一类题目拿到了 120 的总分。并且,d1t2 可能会挂。
焦急而煎熬的等待,最终并没有挂。
364+252+120,苟下了一个可笑的省队名额。
( 2025 省选联考 , 2025 NOI ]
我恐惧 NOI。省选之后很快我就再次因为训练的节奏而崩溃,想要就此放弃。于是我写了鲜花《丰饶海捕鱼日记》,之后我又写了几篇歌词,连续三天分别写了《天谴》《孽》和《青纱》。ylx 对它们给出了越来越好的评价,尤其是《青纱》。而 miao22 则在我写完《青纱》之后终于忍不住了,告诉我应该把这些破事留到 NOI 之后再干。
然后今年的省集来的非常快,这一次我有些不想去了,但又所有人都逼着我去,连我妈也是一样,觉得我必须接受一些集中的训练。于是不得不去参加,其实省集本身还是挺欢乐的,图寻和小测都非常开心。
TP 营都取消了,所以直接就是 APIO,这一年的 APIO 在 sxz。
询问了 tyx、zyf 并得到了需要我图寻的要求后,我找到了 sxz 的机房,并且之后就一直呆在里面。APIO 的题很没救,我做了很久的 T1 T2,搞了不少分,然后才发现 T3 是弱智题,总分是 223。
除此以外,这场比赛我只对 tyx 的演讲还有印象。
回来之后是第二轮省集,我打的很烂,总是在垫底,拼尽全力给所有人垫底。上一次省集的心理测试我还在伪装正常人,这次连装作人类的力气也没有了,于是在沙盘测试结束后被心理老师警告了我的教练,我的心理问题已经不容忽视了。
当然我还是糊弄过去了。
这期间的所有模拟赛我都在伪装人类,永远在尽全力,然后每一次的分数都像在开演。
七月的最后几天,miao22 告诉我最后几天我们每晚开会议交流一下,过一遍这一整年的所有题目。原来他陪我做了这么多啊。我也真切的从中感受到了这一年的努力和成长。无论如何,都应该面对最后一次 NOI 了。
7月2日,我去了绍兴鲁迅中学,参加 NOI 前的最后一次集训。
我毫无状态可言,第一次的考试结束,王老师给我看了排行榜,告诉我我这个分数想要拿金牌需要不小的努力,然后接下来的模拟赛我就直接俯冲倒数了。
我什么都做不出来。那段时间里我觉得身边的所有人都比我强,他们交流的东西我都没法听懂,我惊恐、害怕、不知所措。可能这一场比赛之后,他们都会金牌,而我会离开吧。
我认为自己这段时间的模拟赛和 unr 都尽力在打了。但其中一些场次可能几乎失去了思考的能力。可以说心态在面临全线的崩盘,在 unr day2 获得 5 分总分之后达到了前所未有的顶峰。
miao22 总是告诉我,银牌也无所谓的,在这段时间里也陆续听到了 crz 和怪兽两位学长的好消息。或许银牌之后的生活并没有看上去那么艰难,金牌之后的生活也没有幻想中那么美好。
unr day2 拼尽全力拿到 5 分之后,我觉得自己不能再这样下去了,一个人跑到了楼下,发现了一只小时候曾经见过的透翅蛾,它很好看。
倒数第二场模拟赛,我没有正常参赛,而是尝试去写《血鸟》。我幻想自己是一只不知道何时就会脱力而坠落的鸟,我的鲜血浸染我的羽毛。我会在 NOI 前完成它的前半部分,然后按照我 NOI 的结局来写后半部分。
但结果是,模拟赛崩溃之后,不仅没法写出题目,也没法写出歌词。NOI 结束之后我的心态就早已不同了,我失去了当时的体验,《血鸟》就此成为了永不能完成的残篇。
至少,高一 NOI 没能拿到的银牌,要在今年拿到吧。或许我的水平,是的确不能奢望更多了。
抱着接受了这样的,或许也没能完全接受的心态,我踏入了龙山书院。
试机。在测速的时候,zhk 发现 xqw 的机子速度比他快,xqw 解释,这是因为 unsigned long long
的乘法取模速度比 long long
快,但也只是一点点。笔试。多选题里似乎有一个选项不在题库,但它都是多选题了,排除法也能知道这个必须选了。100,然后看 xqw 和 qzx 玩贪吃蛇。
在梦里梦见过很多很多遍 day1,不知道这是不是我的终点。那天早上排队的时候,miao22 一直在和我交流,缓和我的心态。关闭手机之后,我走进了 NOI 的考场。
T1,什么时候这种题也能来 NOI 了。但保持纪律性,先把三个题都看一遍,并且思考一下 T1 有没有坑。T1 给自己的要求是第一遍就写对。写完发现挂了,RE 就二分答案一下位置,发现是 \(d_i\) 的上界没判,判掉就过了。
然后考虑 T2。如果这个题不是两个题,那么最优化一定弱于计数。最优化也就是可以考虑重复计数。很快编出了 \(O(n^3)\) 的计数,通过了 selfeval。这时候隐隐感觉这个就能做计数了,因为我画不出重复计数的情况。所以很快用这个版本改了计数出来,它挂了,但我认为是实现的问题,所以我很快写了个对拍,并用小数据找到了问题。于是做到了 \(O(n^3)\)。
再分析一下性质,就把瓶颈优化掉做到 \(O(n^2)\) 了。空间有点爆,但能过 selfeval,细算一下 700MB
,先做 T3。
对 T3 进行了思考,第一步把操作转化成了适合手玩的形式,然后开始手玩一些满足 A 性质的小树。猜出了结论,于是写一下。结果发现它不止能通过 A 性质,也就是这就是这题整题的结论了。
那么改成异或哈希,就能通过 80。再去卡一下 T2 的空间常数,卡进 500MB
了,就不用管了。最后思考了一个小时 T3 的更多分数。还是不会。100+100+80。
其实出来的那一刻我还觉得这个分数很高,但很快我就知道这个分数很多,有超过 30 个 280+,队线可能会达到 256 或者 264。
当时我惶恐了。我向来无法在 day2 取得足够的成绩,当我经历各种好运拿到 day1 的 280 我以为这个分数已经让我不需要担心 day2,但我错了。NOI 比我想象的更加恐怖,我如此超常的发挥只能让我略高出队线,那我该怎么办呢?
我不知道我应该怎么办。miao22 及时止住了我继续的崩溃,把我从毁灭的边缘拉了回来。至少,现在有一点优势,该考虑下一天了。
这一天失眠似乎不是大事,因为明天不是考试日。
看着高一的小朋友们如此开心,不知道是不是看到了去年的自己。但他们确实可以开心,去年 day1 考完的我需要翻三十分——事后看来这是不可能的,对这三十分的执念最终让我获得了铜牌。而今年的他们比队线高出十几。
一路上看着大家玩 cbmfs。感觉自己已经忘了规则了,再一细想,上次玩 cbmfs 已经是去年百度之星了。
没有印象的一天。
转眼就要 day2 了。我的所有多天的比赛,从未打好过一场 day2。
过河卒、重塑时光、登山、岁月,无一不是下限级的发挥,被很多人翻掉,葬送 day1 的优势。但我告诉自己,如果这个世界上真的有命运,那么它不会喜欢俗套的剧情。或许我的最后一场 OI 比赛它将为我书写一种全新的可能。
在 miao22 最后的安慰下,我坠入最后一场没有梦的夜里。大结局要来了,对吗。
T1,我在一分钟之内明白手玩这个东西困难,所以立刻选择了打表。十分钟我打出了足够做出这个题的性质,然后用十分钟完成了实现。
很快把第二个题得到一个 \(O(n3^n)\) 的做法。但它无法通过 \(n\le 16\),只能通过 \(n\le 12\),也就是 36 分。2.1s,几乎是我无法逾越的天堑。我尝试了很多的卡常,但它最终停留在这个数字。我意识到还有两个小时结束比赛,而我的 T3 几乎没有思考。如果它的难度小于 T2,那我就一定会万劫不复。
所以我选择打开了 T3,很快编出了 \(O(nq)\) 的做法,预期 40 分。但实现之后发现它假了。我只能退而求其次,去二分答案然后实现。我只能预期它获得 25 分。我其实已经有些慌了,但我一直严厉的要求自己稳住。经过调不出的贪心 check,我果断换了很复杂的 dp,最终第三版代码通过了样例。而且在 pretest 上获得了 35 分,比我的预期额外通过了 \(n,q\le 3000\) 的分数。
最后就是 T2 了。现在我的得分是 171,T2 如果能把这个 20 分的包卡过去,我就能获得 191。但,它真的还能挤出一点时间吗?我已经明白瓶颈甚至不是 \(O(n3^n)\) 的子集高维前缀和,而是 \(O(3^n)\) 的乘法取模和它共同构成了最终的瓶颈。
这时,我的脑海中突然浮现出一件事。试机的时候,xqw 曾经说过,ull
的乘法取模比 ll
更快。想到这里,我抱着最后的期望,将代码中的 ll
定义成了 unsigned long long
。
它从 2.1s
变成了 1.85s
。
我已经无法追忆起那一刻我的感受。我立刻开始思考 T2 的更多特殊性质,但最后的半个小时,我在特殊性质 A 上毫无建树。最后五分钟,我计算了自己的总分。571,高于去年的队线 33 分。
但我也清楚的记得,去年和前年的队线都打破了记录,有很多选手打出了自以为很高的成绩而在考场上懈怠最终出局。
出考场之后,和大家联系,学长们说我稳了,说我可以考虑签约了。但我没敢开这瓶香槟。到了宿舍,很快,估计的队线就已经冲上 560,我冥冥中有不祥的预感,但已经到了这里,就只能接受命运了。
队线就像水面,人们如同站在铁箱里。水面不断的上涨,直到它淹没你的双肩,触碰你的下颌。你不知道它什么时候会吞没你让你溺亡,你只会祈祷它能在淹没你之前停下。
xqw 那里有了第一个预估的消息,577 在队线边缘。但今年可能最多会有两个国家队的递补名额,所谓的队线是 50?还是 52?边缘,又具体是多少?
我在宿舍里一个人彷徨,等待着命运的审判,期间 miao22 一直在和我通话,甚至唱歌,试图缓解我的情绪。我也知道,我的命运会在不久之后揭晓。但在这之前,我需要查分。我的三道题其实都有被卡常的可能,它们只要被卡掉一个点,我可能就注定和金牌无缘。
查分。
我没敢看每一题的细分,而是直接拉到了最下。191,没有挂分。
我在座位上一个人坐了很久,才想起看看别的信息。当我看到 T2 的最大点最终跑了 1.953s
,我的冷汗几乎浸湿了身体。它比 selfeval 和我自造数据的任何一次测试都要慢至少 0.07s,但它通过了预期的分数。
回到宿舍,得到了一个确切的消息:pku 给出的分数线是 571,但没有人解释分数线是 50 还是 52。如果同分比较 NOIP,我依然是劣势。又一会,zph 给出了一个更加确切的消息,我卡的线是 rk50,而 rk52 是 568。这意味着我最坏的情况也是 rk51 递补进队了。
我几乎完全松懈了。我想庆祝,想高兴,但我仅剩的理智还是告诉我,这并不是官方成绩。去年 qzx 的教训历历在目。
签约,我问 miao22,希望我去 pku 吗?miao22 说,他没有太多的期待。我重复问,你希望吗?miao22 说希望。于是我签下了 pku,完成了 OI 生涯的最终极的梦想。
很多很多的消息接踵而至。有民间带名字的榜,有官方的只有考号的成绩。我跟着 xqw 和 qzx 参加了嘉年华,补齐了去年的遗憾。期间得知了 hgh 和我同分拿到了 E 金,有很多人祝贺我,虽然我只觉得这一切都是如此的虚幻。
直到颁奖仪式,我才知道今年的 rk51 可能不会递补,但现在已经无所谓了,金牌已经在我的手上,NOI 已经成为了过去,之后的一切都是将来。唯一有遗憾的,可能是低头让 dzd 帮我带奖牌的时候,过多的头发自然垂落了下来,导致留下一张非常非主流的纪念照。
我和 OI 的故事大概就到此为止了。
( 2025 NOI , \(+\infty\))
NOI 并不是人生的终点,其实也不是 OI 的终点。但我选择了读预科,为了更早能在学校里见到 miao22,也见到过去所认识的大家。在这里留下的所有东西都是我的回忆,所以它被称作回忆录。
其实很少有什么东西能真的给我们的人生断点,人也永远不会在一夜之间突然成长或改变。让我们成为我们的,永远是我们过去所经历的一切,它们都无法被分割。
除此以外,感谢另一份很特殊的陪伴,帮助我走过了 OI 生涯最艰难的两年高中时光。不过,那就是另一个篇章的故事了。