LightPursuer——milo的OI生涯回忆

· · 生活·游记

推荐更好的阅读体验:cnblogs

Ep00.

这里是我们的机房。地点是CQYZ科技楼的四楼。登上楼梯之后的走廊正对着的是初一的一机房,左转,依次是二、三、四机房,这里的成员的回忆随着机房编号的改变而流转。

这里不像我们的生物竞赛教室,背后贴满了整整一面墙的往届集训队名单。事实上,这里值得夸耀的荣誉屈指可数。这里之所以一直存在着,而且吸引了我和每一位堪称闪耀的“大家”,是因为每位成员和前成员的精心维护之下,这里能净化一切的浮躁和怠惰。在日月都要匆忙追逐时针转动的世界里,这里还有机会为某些事情刻骨铭心。

这里的故事太漫长,而且不同的碎片分散在大家的手里。没有人拥有关于这里完整的记忆,也不是每个人都擅长用丝线串起自己的那一部分。我无法确定机房现在怎么样了,在这里结识的几乎每一个人都已经离开。我不知道我们喜欢的一切有多少得以保留。

但是,我还是想向大家介绍这里。

Ep01. 相逢以前的故事(2018.? ~2019.10.19)

人物表:

milo:小学6年级,暂时还不是 OIer。

2018年的某一天。

周末长期在家的我被要求找点事情做,也是吧,由于在奥数上没有投入很多时间,之前的其它兴趣班也停办了,我得到了比较多的空闲。

找事情做的方法非常简单,在小学门口遇到随处可见的传单分发的时候接一张就行了。大概过了一周左右的时间,我收集了十几张少儿兴趣班传单。

考虑到我在小学的“创客社团”(本质上就是用当时非常火爆的Scratch积木操纵一些简单的外部设备,看着积木有层次感的嵌套让我感觉非常舒服,所以经常写出十几层积木嵌套的代码)呆了一年左右的时间,我最后选择了一家叫做“津乐码少儿编程”的机构。

从这一天开始,我大概需要每周一次步行二十分钟到一栋写字楼。教室里能坐下6个学生,不过来上课的只有我和另外一个早已淡忘的同学。

在机构的官网上,我给自己取了第一个叫“编程怪才”的ID。

很神秘的事情是,这个机构似乎完全不面向竞赛,关于 NOI 系列比赛,讲课的老师只字不提,只是按部就班地从顺序结构讲到分支结构 再讲到循环结构,想办法让两位初学者接受不要深究 namespace 有什么用,然后给我们印发厚厚的讲义,讲义后面还有习题。我把它们全部整理好,塞进抽屉里,随着时间推移,讲义占据了抽屉里越来越多的空间。

关于指针的知识让我非常纠结,下一个难关是函数 “形式参数” 和 “实际参数” 的区别。接下来是非常让人头痛的概念“递归”。老师花了很久才能让我们两个人勉强接受函数可以调用自己并且终止。

当然,仅仅这样满足不了我的探索欲的。为了更深刻地理解这个递归的过程,我当即决定尝试把 main 函数改造成递归函数。对于这个奇怪的尝试,老师没有阻止我,甚至还停下课程进度等我尝试。

在课程的间隙,我和旁边的同学一般会一起玩森林冰火人,如果你还不知道的话,我在游戏上没有点任何天赋,所以经常误操作导致我们的努力白费,好在他也一样。

将近一个学期过去,我认为自己有能力把学习到的东西进行应用了。在课余时间我开发了一个大概需要七八分钟通关的文字冒险游戏(对,和galgame差不多,但显然是通过标准输入输出进行交互的,毕竟我才学半年吧),并且立刻在全班范围内推广。

小学的最后一个学期,我上了近一年课的机构倒闭了。但是我不是很甘心就这么结束,于是继续打听有没有办法可以继续我的编程学习。最后在离家更远的地方,我加入了一家更大的机构。

比较意外的事情是,加入机构居然要进行测试。其中有一道题是让我写出冒泡排序的代码,但是搞不清各种算法差别的我最后稀里糊涂地写出了插入排序。

总之,测试不是很顺利,但是能继续学习的我还是很开心。我还在老师指导下注册了洛谷账号,通过了几道红题。由于我的名字 milo 已经被占用,我就使用了 cool_milo。

当然,这一切都发生在作为一个“兴趣班”的前提下。在那个小升初还没有竞赛选拔的时代,我需要通过奥数班的学习进入初中。由于显然的原因,选拔是相对内部进行的,我遇到的第一次升学考试是YC中学的测试,但是被套上了“阶段测试”的包装,所以我没有认真对待,在考试的时候摆弄我漏墨的钢笔(这是非常让人头痛的!我觉得用钢笔简直就是灾难),并且连语文卷子都没有答完,自然没有获得录取。

对此,父母显得非常生气。

在受到少量压力之后,我努力地完成了剩下来的所有考试,并且基本都通过了。由于离家距离的原因,家人放弃了NK中学的录取,家人认为初一上晚自习到九点对我压力太大,于是放弃了BZ,最后,我来到了以全CQ最好的初中闻名的YZ的H校区。

对于一个拥有这样头衔的学校来说,这里实在是太小了,硬件设备太差了,食堂质量也太低了。我不禁想。

听说家长试图把我塞进以“优生班”闻名的2班,但最后失败了。不过,幸好他们失败了。根据后来了解到的事情,我断定我不太适合那里。最后,我来到了氛围相对和谐,还有一个天使一样的班主任的1班。

初中刚开学,新机构的老师告诉我,有一个叫做CSP的比赛正在报名初赛,并且建议我们都报名普及组。我自然地答应了,去参加比赛总是让我开心的。

过了几天,我发现我班上的同学有很多中午消失了,询问之后才知道,他们是六年级在学校上早培的时候被组织起来,也报了同样比赛的名,现在每天中午都能获得一段时间的初赛指导。而学校方面不知道我单独报了名,所以我没有得到初赛指导的资格。

我不喜欢上各种以提高成绩为目的的补习班,所以听到“早培”这个名字就决定自己不想参加,但是我很想参加初赛指导。所以我溜去上了几次课。

同时,国庆节的时候机构也组织讲了一些初赛题。在讲到一道计算递归次数的题的时候,老师把整棵递归树展开了,写了满满一电子白板。

我觉得这些题真的好难啊。

初赛定在 2019年10月19号,我被家人第一次带到YZ的本部。学校有一个现在还全是是枯枝的荷花池,建筑物几乎都是红砖的。而操场几乎就有H校区那么大了。

考试如预想当中一样的困难,但好在就在这一年,CSP初赛全面改革变成了100%选择题。我至少能对每个空都猜一个答案了。

印象深刻的是有一道题目问链表不具有的特点,但是我还没有在编程课里学习过链表,而Scratch的链表list是类似c++的vector的,所以我就选错了。在大量不熟悉的知识的轰炸下,我昏昏沉沉地完成了考试。

离开考场时已经是夜晚,学校有部分在修缮而封路,在夜色中我迷路了。

不知道结局会怎样呢?

Ep02. 靠窗的电脑(2019.10.19 ~ 2020.2.05)

人物表:

milo:初一,OIer。
yhy:初一,OIer。
hlp:初一,OIer。
fth:初一,OIer。
xsb:初一,OIer。
rgy:初一,OIer。
lxq:初一,OIer。
MichaelLee:初一,OIer。
fire51:OI教练。

一周以后,我和我的同桌突然被叫到了班主任办公室。

“因为上周的那个比赛你们考得不错,以后你们可以来学校本部,每周上三个小时上编程课。”她这么说。

没想到我们学校各个校区几百人参加的比赛,一共只有12个人通过了初赛,而我压着线成为了他们中的一员。看来我连蒙带猜的水平还是太高了。

有了学校的免费课程,我当即退掉了机构的剩下的学费。

第一次来到拥挤的YZ一机房,我寻找着自己的座位。机房里一共有65个人,分成五个大组,其中四个大组是面对面的长桌子,第一大组背靠着窗户,第五大组面对着墙壁。而我正好是通过初赛的第一大组角落的第 12 号座位,旁边是一台老旧的立式空调。

不过其实 CQYZOI2025届 留到高中的最后的8个人里,有7个人这个时候都坐在第一大组,唯一一个例外是 Ishy。

我们就在这一天认识了我们的新老师 fire51,我们都叫他fire或者火炬手。他很符合大多数人心目中的理科老师形象,瘦瘦的,戴着黑色的金属框眼镜,讲课非常有激情,某句突然激昂的话语常常让昏昏欲睡的同学精神一振。发火的时候会用很吓人的语气诘问:“XXX!你在干什么?!!”

和其他学校一样,fire 会用极域电子教室控制学生的电脑。没过多久旁边传来一阵笑声,似乎是 fth 的极域被他破解掉了。

我找旁边的同学搭话,了解到他叫 xsb,是紧靠本部的 M 校区的学生,所以对本部很熟,并表示可以带我转转。本部有像星象图之类不少有趣的地方,而且,食堂质量比 H 校区高了非常多。

不久之后,我又认识了 lxq,lxq是一个非常风趣的人,经常给我讲关于 M 校区糟糕的硬件设施的笑话。我从没想过YZ居然有硬件比 H 校区还差的地方,当然后来,M 校区的瓷砖脱落,砸断了某位未来的IOI2026国家队队员的手指就是了。

在 H 校区学生会认识的 5 班的 rgy 也坐在教室里。我们也成为了朋友。

我们每个人得到了一册文件,介绍“信息学奥赛”(这是一个陌生的名词)的概况,包括 NOIp、省选、NOI、WC、CTSC、IOI、APIO。感觉都是很遥远而很有吸引力的比赛。

在 fire 的指导下,我们在一个叫一本通的网站上注册了账号开始练习,还买了配套的厚厚的两大册书。每周有两天中午,我们可以在 H 校区的机房做题。 H 校区机房的电脑非常老旧卡顿,而且大概几十分钟就会蓝屏一次,这些不利条件让我颇为头痛。

复赛在 2019年11月16日 在 BS 中学举行。在比赛前,fire 用他惯有的激情的语气告诉我们 “只要做出第一题!就有100分!100分!就是二等奖!”

为了坚定我们一定能拿奖的信心,他打开了往年题库,告诉我们往年的第一题有多么简单。

当然,后面的题目对我来说完全还是未知数。不过第一题只有很简单的语法知识,我还是很有信心的。那,100分就100分吧!

考试日,在拿下了第一题 number 之后,我进入了未知领域。对第二题 transfer 的调试异常艰难。在中途由于调试信息没有删干净,程序输出了一些意外的内容,而毫无经验的我认为是电脑故障了,举手让监考员过来看看。不过监考员坚持不给我回复。经过三个小时的奋斗,以及对queue语法的现场发明,我终于获得了一份能通过样例的程序。

第三题 souvenir 看上去很困难。我试图写出 T=2 的部分分,不过失败了。当然,对第四题 work 我没能进行任何有效思考。

由于四个小时的体力消耗,走出考场的时候有些眩晕。我想向旁边擦肩而过的同学问问情况,但是听到他开口就是“第三题……”的我有点失去了信心。

走过来的lxq告诉我“第四题其实就是个递归……”,但是他没时间写了。我仔细想想,好像还真是!(其实并不是,那道题的正解是奇偶最短路,暴力递归只能得到部分分,但我们当时毫无复杂度的概念)不过,对于考前只记得“100分!就是二等奖!”的我来说,已经很好了。

过了几天,我突然意识到我的第二题程序有问题,受到打击的我还是寄希望于它能得到一些分数。不过出分的结果还是粉碎了我的幻想。比较奇怪的是,我提交的程序连样例都没有通过,但现在也无从知道当时发生了什么了。

出分第二周上课的时候,fire激动的告诉全班,yhy以230分压线拿下了全学校历史上第一个初一一等奖,hlp,MichaelLee的成绩也都超过了200分,台下响起热烈的掌声,坐在第一大组第一张座位的yhy非常瘦,戴着一副眼镜,显得很文静。因为平时不怎么说话,我对他毫无印象,今天才知道他这么厉害。

每周的课程还在继续。某一天,fire突然宣布下周即将进行选拔考试,于是一整周我都在努力地看课程群里发的样卷(尽管不太能理解)和回忆上课讲过的题目。可是,考试的难度还是让我难以招架。我忘记了经典题目 地毯覆盖 的做法,后面的题目又让我疲于应付,最终我甚至没能得到一半的分数。接下来整整一周我都在紧张,害怕自己由于糟糕的表现被刷掉。我真的很不愿意失去上这门有趣的课程的机会,而这一周rgy一直在安慰我一定没有问题。

最后我还是被留下了。如释重负的我欢呼雀跃。不过我又听说yhy在测试中得到了满分。差距的巨大让我有点自惭形秽。毕竟我看到过教练的练习题数榜单,而我几乎在这张榜单上处于垫底位置。

临近寒假,课程的要求变得越来越严格,比如在讲解字符串string的时候,fire要求我们默写 string 和 char[] 的某些功能的函数用法对比。

不过努力也是有成效的,fire终于宣布大家结束了语法的学习,寒假集训开始讲解算法。

从高精度算法开始。难度就开始迈上台阶了。我看着打印的好几十行的 “高精度除高精度” 模板有些发怵。这个模板如果让我默写我绝对写不出来,我想。

在讲解 “动态规划” 的时候,fire花了一上午讲完了动态规划的理论“状态,边界条件,状态转移方程,答案”,(fire一向如此,总是担心我们理解不了)并且指导我们通过了“数字三角形”。他宣布下午再来讲解“最长上升子序列”。但是好奇心过于旺盛的我决定抢先一步解决这个问题。经过漫长的思考,我终于意识到每个序列只有结尾的位置有意义,所以可以划分阶段。输出方案的时候可以从后往前,每次找前一个位置。我把思路讲给lxq之后就开始动手实践,看到一本通题库上蓝色的“通过”时我兴奋地跳了起来。

集训以外的寒假时光我试着开发一些新的东西,这次是我学会了头文件和结构体之后开始开发文件系统模拟器。(没有实际用处,不过不失为有趣的尝试就是了)。很快,冬天就过去了,愉快的时光总是短暂的,不过这个寒假倒是很充实,我这样想。

Ep03. 封闭的时光(2020.2.05 ~ 2020.7.10)

人物表;

milo:初一,OIer。
cyx:初一,OIer。
MichaelLee:初一,OIer。
pyc:初三,长沙OIer。
fire51:OI教练。

疫情无情地席卷了城市,转眼之间,再热闹的街区都像被废弃了一般静默。

所有的活动都取消了,所有的计划都打乱了。不过,或许信息学竞赛是唯一得到好处的项目。在宣布推迟开学之后,fire当即为我们安排了训练计划。

在 N 网站上,我们被组织上了十天的网课,在这十天里,我第一次了解到 时间复杂度的概念,(原来不是只要写出正确的程序就行了吗?)了解了 ST表等算法。并且比较系统地学习了二分。网课结束以后有一场非常简单的测试,我很轻松地拿到了满分,为此非常高兴。在网课的过程中我认识了HN的pyc同学。很可惜,在他选择退役之后,我最终和他失去了联系。

紧接着是每天一题的“横扫千军”计划。这个名字不用说当然是fire取的。他总是给一些平常的事物很隆重的仪式感。计划的形式大概是每天都会有一道算法基础题(广搜,深搜和动态规划)作业,而班上的的几十个人轮流给题目写题解。这个任务量其实很小,大概是考虑到当时大家的主要精力还是在文化课上。(动点问题实在是太困难了!)。

有一天下午,我突发奇想,想要挑战一下去年的普及组第四题。我很快就发现了这道题“奇偶最短路”的本质,但是当时还没有学过BFS的我只会理论上最慢是平方级别的DFS,并且得到了80分。我激动地把这个重要成果汇报给了fire。他显得很开心,并很认真地表扬我有探索精神。得到了这样的称赞的我信心大增,决定既然在第四题都能得到80分,那明年的普及组一等奖肯定非我莫属。

在这段时光中,我认识了帮助过我的 MichaelLee 同学,他是一个很有实力的选手,并且也经常在群里活跃发言。于是我决定在 2020年4月1日 在课程作业上和他开了一个玩笑(很遗憾,玩笑的内容我已经遗忘了)。在这之后,他没有回复我的消息。为此我以为自己的玩笑过分了,给他写了一封e-mail道歉。不过后来才知道,这似乎是个误会,他只是单纯忘记回复我了。

有一天,课程群里突然出现了冬泳怪鸽的加油视频,这又是fire的主意,他总是想尽一切办法(不管这个办法是不是显得认真过度)调动我们的学习热情。这个视频不出意料地收到了大量的点赞和调侃。

在网课的闲暇中,文件系统模拟器被开发到了 V1.1,加上了一些奇怪的功能,并且自从我学会 <conio.h> 的使用方法,我就开始优化我写的神秘文字冒险游戏的体验。之前的版本一次性键入多个字符或者键入中文会导致游戏崩溃,优化掉之后问题就解决了。

很快,网课的时光和“横扫千军”计划就要告一段落了。很符合fire风格地,他要给我们颁发结业证书。最后一天的作业每提交一个他发一张证书。在我之后提交作业的是cyx,他的结业证书遭到了我的恶搞,“圆满结业”被我P成了“圆满挂科”。不过我后来才了解到,“结业”这个词本身就含有“没有完成课业要求”的意思,我的修改反而是多此一举,

接下来有一小段时光没有OI训练,不过我们被动员参加了CCF的新发明 NOI online,自然打的是入门组。我一共参加了两场。其中 NOI online #3 我以 190 分进入了前 25%。可惜我已经完全记不清这场比赛的细节了。

恢复每周的OI练习之后,我和cyx放学后有一次一起坐地铁。他同时在学数竞和信奥,并且给我出了几道所谓的简单的数竞题,很显然我并不会做,对此,他用简单的几句讲解就让我佩服地五体投地。

我从此非常崇拜看上去什么都会的cyx。

由于疫情,今年的暑假到来的格外晚,fire 宣布将会进行两周信奥集训,除此之外。我还被选中参加两周数竞课程,刚到手的暑假直接被腰斩过半,我自然是有些不满,不过这剩下的三周。也会是接下来几年里我最长的一个假期了。

Ep04. 启程(2020.7.10 ~ 2020.11.7)

人物表:

milo:初二,OIer。
lsc:初二,OIer。
bot:初二,OIer、机器人。
cyx:初二,OIer。
hql:初二,OIer。
lxq:初二,OIer。
MichaelLee:初二,OIer。
fire51:OI教练。
chery:OI教练。

暑假,由于疫情没有完全过去,所以没能出游,MO课,OI课,文化课成为了暑假的三原色。

虽然说是MO课,但其实就是一些初三和高中的数学内容,当时的我因为知识难度的急剧提升而挣扎。在理解“二次函数求根公式应用”的一些题目(大概是高考5题难度)时甚至出现了短暂的情绪崩溃。由于过程过于艰难,所以这两周网课结束之后我就认为自己没有数学天赋而决定放弃MO,此外,老师宣布暑假结束之后会有一个分流测试,选择MO、Pho、Cho、BO中更有潜力的两科继续发展一年,并最终选择一科竞赛,但是我直接放弃了这次考试,也就和OI以外的其他竞赛告别了。(其实我也想不明白,当时的我听得这么痛苦,那后来我是怎么掌握这些知识的呢?)

紧接着的OI课就显得温和很多,课程继续往OI系统的深处蜿蜒:图论,BFS,简单贪心和单调队列。一本通的OJ劣势从这个时候就开始初见端倪,它甚至会让正常 O(n) 的“滑动窗口”的提交超时。在我远程遥控fire开启O3优化未果之后,我们不得不接受了这个OJ就是很破的事实。

某一天,fire突然像得到了什么天启一样坚持要给我们看他的新发现。他在代码里新建了一个字符串数组 string a[3]={"时间","金钱","注意力"};,然后对这个数组进行从大到小排序。显然根据字典序结果是 注意力 > 时间 > 金钱。然后他语重心长(同时我们哭笑不得)地向我们讲述了注意力比时间重要,时间又比金钱重要的道理。

除此之外有件事情我记忆犹新:由于fire非常自信地经常直播写代码并且写挂,网课常常会变成几十个同学的在线debug大战。而每次赢下debug大战的总是同一个陌生的名字。

当然现在我已经对这个名字再熟悉不过了。bot(这个时候还没有这个外号)一直都非常擅长帮别人调代码,并且我的代码他调了四年。

在匆忙地追赶作业进度之后就是开学季。我成为了初二的学生,不过对我更重要的显然是———新赛季要开始了,而我定下目标要在这个赛季拿下普及一等奖。

我被允许跳过少量作业和部分晚自习,在H校区的机房参加集训。周末 OI 课的时间也延长到了6个小时。

我就在这个时候认识了 bot 和他的朋友 lsc,他们都是2班的。我们坐在相邻的位置上,用破旧的机房抽屉里的有线耳机接在那台不知道什么时候会蓝屏的电脑上听着fire在腾讯会议里讲往年的普及组真题,然后补上这些题的代码。

同样在机房里的还有cyx和hql。cyx总是抱着他的紫书(《算法竞赛入门经典》),读着网络流一类我们还暂时看不懂的知识——他表示自己报名了提高组。他还给我介绍了一个叫做UVa的很难用的题库。我注册了这个题库之后拼尽全力未能通过UVa101——这道模拟对当时的我来说还是太难了。hql则常常在机房里哼歌,可惜我对流行音乐了解很少,没听出来他在哼什么。

晚上上OI课经常让我感到很疲惫,但是感受到自己会做不少往年的普及组题目还是让人开心的。

由于周末OI时光的延长,我们需要每周日中午在本部想办法解决午饭,下午下课之后在两小时内解决晚饭问题,并且迅速赶回H校区。我和bot,lsc在这方面达成了一致,中午都在学校对面的金拱门解决,(随心配:一块汉堡加上一份零食只要12元钱,非常的划算,导致我们几乎不会吃别的东西)下午则请lsc的父亲把我们开车送到H校区,路上边聊天边吃掉在校门边的罗森购买的盒饭。

这期间有一件值得纪念的事情是我意识到了单点修改,区间查询的前缀和是可以反过来变成区间修改,单点查询的差分的。这个发明使我非常自豪。

某一天,机房里突然出现了一位神秘的新老师,宣布要给我们进行突击测试。题目一共有 5 道,当然对我来说非常困难,不过我发现 钓鱼 是 fire 讲解过的经典贪心题。只需要枚举走路的终点,用优先队列维护决策就可以了,我迅速地实现了这道题的程序,并且在其他题目得到了一些分数。最终这场测试我以很低的分数名列第二,第一是cyx。

在这之后,这位老师神秘地消失了,不过后来知道这就是 Chery ,这个时候刚刚来到CQYZ,也是从初三开始陪伴了我和我的同行者们三年的教练。当时他的主要任务是抢救我校实力不济的高2022届信奥,对于我们,他当时并没有过多精力。想必看到这场测试的结果,他一定在背后感叹自己面对的挑战有多么艰巨吧。

CSP的考点定在NK的L校区,对于绝大多数CQ人来说,这都是非常遥远的地点。为了不至于考试日起个大早,我提前一天入住了学校附近的酒店。

2020年11月7日,CSP-J2020在NK中学L校区的体育馆举行。那天赛前的清晨大雾弥漫,我在校园内值得羡慕的崭新的塑胶操场找到了朋友们,给大家依次送上祝福。为了活动自己的思维,我在进馆前绕操场跑了一圈。

power 是一道很简单的题目,只需要输出2的幂就可以了,虽然这和往年“第一题就是送”的印象不符,不过这已经难不倒我了。

live 则对当时的我不是很友好,因为做题习惯不好,我没有看到数据范围中值域小于等于 600 的条件,又不会对顶堆,所以迟迟得不到一个算法。但是注意到问题本质是插入数字,查询排名。我想起之前思考过一种“排序二叉树”的结构,(也就是不平衡的的平衡树)还思考过它在平均情况下是正确的,于是我实现了这个做法,并且希望它能遇到比较友好的数据。

值得一提的是,当时的我不会使用fc,只是肉眼比对了几行内容就丢掉了这道题,这无疑是相当危险的。

expr 则是一道相当困难的题目。我知道对后缀表达式的处理需要用栈,但是完全没有建立表达式树的意识,所以在这道题上白白花费了两个多小时的时间却一分未得。

比赛结束还有不到一个小时时间了,焦头烂额的我决定开始打一等奖保卫战。点开第四题 number,看到简洁的形式,刚想开始打暴力的我觉得还是应该分析路径的性质,但是20分钟以后我突然会了这道题,又花了20分钟实现并且调过了这道题的样例。

比赛剩下的时间不多了,100+100+0+100 应该足够让我得到一等奖了。所以我很放心地检查了一遍代码,没有再做别的尝试。

和去年一样,我在考场外遇到了lxq,他表示他T2使用了 vector.insert() 。对此我略感奇怪。vector.insert() 真的具有正确的复杂度吗?

但让我颇为惊讶的是,使用 vector.insert() 的不在少数,我的朋友 bot 和 lsc 都这么做了。

最后的结果是,我的不平衡平衡树遭到了制裁,最终只得到了290分,是初二rk2,MichaelLee以320分得到了初二rk1,而 vector.insert()被直接放过去了。

我检查了一下数据,发现最后两个测试点的输入都是基本单增的。

lxq、bot都得到了一等奖,但是lsc的分数在挣扎了几周之后被划到了二等奖。

不管下一个挑战会是什么,对于机房里唯一一个做出普及组第四题的我来说,这都算个不错的启程吧?

Ep05. 轮回的季节(2020.11.7~2021.7.11)

人物表:

milo:初二,OIer。
lsc:初二,OIer。
bot:初二,OIer、机器人。
cyx:初二,OIer。
hql:初二,OIer。
hlp:初二,OIer。
lxq:初二,OIer。
lhx:初二,OIer。
ysy:初二,OIer。
MichaelLee:初二,OIer。
fire51:OI教练。

CSP-J2020的考试结束了,我翻阅着S组的榜单,却发现我校高中选手怎么连市前30都进不去。

于是,在我的痛心疾首之下,举世奇文《告CQYZ信竞生书》堂堂诞生,真诚地表达了对大家努力学习OI的期待和对改变现状的渴望。

S组这边,hlp 只得到了三等奖,而cyx直接打铁退出了CQYZOI,专心于MO。冬天,我们开始了基础图论的学习。最短路,最小生成树,并查集。由于教学体系略微落后于时代,SPFA算法仍然在教学体系中并且被反复强调。而 boruvka 算法则被直接无视。

接下来是对于“栈”“队列”和“堆”的讲解。麦当劳,罗森,lsc,bot。在学校的时光平静而略显无聊,朋友也很少,每周末的六个小时一直是我的精神寄托。为了这六个小时,一向效率不高的我拼命在周六完成所有作业。

H校区的训练被缩减到到了每周只有一个下午的一个多小时,而且机房负责人经常忘记还有训练的学生存在,把门直接锁上导致训练被迫暂停。不过,训练的我们也相当草台班子,lsc开始在机房通关PVZ,这当然吸引了左边的我和右边的bot的注意。每周日的六小时里,坐在左边的同学喜欢解除控制启动一款叫『死亡细胞』的游戏,在fire缓慢的课程进度下,我免不了分心。

某天下午,又一次在机房吃了闭门羹之后,我、bot、lsc非常不满,准备找保安索要钥匙。而我对此采用的做法是——

[拿枪冲进保安亭状]不许动!交出机房钥匙来!

于是我就被赶出来了。

你CE了。——bot

不过最后我们还是得到了机房钥匙,只是能训练的时间所剩无几了。

当时的我们就是这样热情有余而专一不足地坚持着断断续续的训练。事后看来,我们宝贵的时间很大程度上花费在对同一算法模板的反复训练而不是思维的提高上,眼界也仅仅局限在“一本通”题库中,(至少是我)把一本通“算法提高篇”的内容当做了OI的终点,因此耗费了成长的大好时机,这无疑是一大遗憾。

寒假将至,fire用豆包化的语气告诉我们,他找到了“最好的,最适合我们的”训练方法,也就是 A 网站上的网课和配套的训练。

由于假期语文数学补课,我耽误了最初几天的OI课程,虽然我利用晚上的时间补齐了部分录播的课程,并且为 kmp 的 fail 数组感到头晕脑胀,但等到我回到机房。大家已经比我多做了几十道题目了。我有点担心自己跟不上大家的进度,不过事实证明我多虑了。因为我不在的时间里,大家都在板刷被意义不明地分成了十几个模型的BFS、DFS和最短路。并且我回来以后,大家还在继续板刷被更加意义不明地分成了十几个模型的动态规划。我的意思是,在不讲DP套DP的情况下区分“状态机模型DP”是很没有意义的,对吧?

新的OJ体验感明显比一本通好,但是似乎这只是一个形式上的变化。OI课的主旋律依然是fire细致入微的讲解,和题单上慢慢填满的绿勾。

OI本身还是很有趣的,但是听fire反复用excel模拟背包问题的状态转移顺序未免有些无聊。一门心思整活的我把同一个文件夹里的源代码命名为(题号+押韵的对于题目做法的评价)。并在讲解“斜率优化动态规划”的时候,直接在代码里加入了一幅平面直角坐标系的字符画。bot和lsc看上去很喜欢这些很无厘头的想法。

但比起我的想法,机房里显然有更有活的人:ysy开发了一款叫 string dance 的小游戏,大概是操控小人在随机生成的线段上跑酷,配上难绷的背景音乐(我一般叫ysy进行曲)。除了我以外,似乎没有多少人玩过这个制作水平不算高的游戏(毕竟是他一个人开发的),但循环播放的ysy进行曲莫名很戳中笑点。

不久以后,ysy又不知道从哪里找来一张背景是常见湖景的宣传文明的标语(“养成文明习惯,推进文明服务……”)然后在A网站上病毒式传播。似乎这张图片一度成为了A网站的一个梗。

除此之外,fire突如其来的激昂演讲也是机房不可或缺的一环。比如,他会突然拿出一本书和一个U盘,然后告诉我们:“其它竞赛!就是这个(指书)!而我们!就是这个(指U盘)!我们虽然体积小(停顿),但我们容量更大!未来肯定是我们更有优势!”然后得到全场热烈而经久不息的掌声。

后来才知道,这是因为bot想要请一节课假去学Cho。

又一个春天如期而至,大家的训练地点改到了M校区的机房。在这里,fire宣布了一个重量级的消息:接下来8周,每周日上午的OI课将会变成原题马拉松:在过去一段时间讲解过的题目中分专题,每次抽取4道题目组成模拟赛。并且他表示,CQYZOI有5~6个直升本部的名额,会视接下来大家的表现而定。

第一场原题大赛中,我迅速写完了所有题目的代码,在百无聊赖中打开了国际象棋。我被fire瞪了一眼,然后我的电脑就被控制了1分钟。

我又打开国际象棋,我的电脑又被控制了1分钟。

我不敢再摸鱼了,不管怎样还是检查一下代码吧。尽管我没能发现错误,但是最后我还是挂分了,而这场比赛只有botAK了,有点羞愧的我决定之后一定认真对待所有的原题。

第二场比赛我顺利拿下满分,但是并没能超过bot,因为他也拿下了第二个、然后是第三个、第四个满分。

接下来的比赛中,我屡次试图超越bot,但是由于不断的挂分和bot鲜有失误的程序,积分榜上我们的差距反而在不断扩大。在倒数第二场比赛结束后,bot就以400分的领先锁定了原题马拉松的rk1,虽然无缘登顶的我有点遗憾,但是我不得不承认bot的领先是他的严谨和勤奋换来的,而我在这两方面都无法和他相提并论,可能这就是人类和机器人的差距吧。

最后的排行榜上,bot和我分列12名,但是lsc最后掉到了rk10,表现不佳的lsc显得比较难过,而我和bot则表示,以他的文化课成绩和OIer的身份,他也理应获得一个直升名额。

很遗憾,这种选拔方式的确落后于时代了。OI不同于文化课,仅仅考察对于一些很模板的题的默写是不能体现选手的能力的。或许在多年前,这种方式是有效的吧。当然,截至2018年,CQOI都还是原题大战。

更遗憾的事情是,选拔的结果埋没了机房里唯一真正的OI天才。不过这是不是选拔本身的问题我不得而知,因为最后机房里得到直升名额的只有4个人,而最后取得rk4的 lhx 没能得到这个名额。也就是说,所谓的“CQYZOI有5~6个直升本部的名额”,可能根本是子虚乌有,名额是按照CQYZ各大初中校区的whk成绩简单粗暴地加权排序分配的。

天气越来越炎热了,三人组在罗森里的消费也常常加上一项冰淇淋,这意味着暑假即将到来,我思考着假期应该怎么利用,家人安排着出游计划,至少到目前为止,作为一个普通的初二学生的我和周围的人相比,除了稍微忙碌了些以外,没有什么特别的不同。我也不会知道,这是接下来好多年里最后一段“普通”的时光。

向着未来的七色的交响曲很快就要开始了。

Ep06. 崭新的未来 (2021.7.11~2021.9.28)

人物表:

milo:初三,OIer。
lsc:初三,OIer。
bot:初三,OIer、机器人。
yhy:初三,OIer。
Ishy:初三,OIer。
Kevin_James:初三,OIer。
MichaelLee:初三,OIer。
Chery:OI教练。
fire51:OI教练。
tjy:CQYZ直升班总负责人。

暑假的第二天,晚上。

一家人结束了钓鱼活动,正在车上有一搭没一搭的聊着天。我对钓鱼不是特别感冒,折腾了一天的我当时只想快点回家睡觉,所以当父亲接到了一通电话,疲惫的我并没有认真听电话的内容。

可是这通电话的时间越来越长,而且我听到“暑假的计划全部都被打乱了”这样的话,我才意识到事情似乎和我有关。而且似乎非常重要。

经过两天匆忙的准备,我提着行李来到了本部。我只知道某个据说是为优秀学生开展的为期五周的夏令营将在这里举行。虽然要上不少课,但时间表看上去有充分多的空闲,这使我感到开心。

在报到处,有老师给我一张纸让我写一句话并拿着它拍照。思考片刻后我写下“即使梦想渺远,坚信终会实现”。

不过,“梦想”这个词的含义,我显然拥有最终解释权。

这一天稍晚,我们在拥有比H校区好得多的硬件的大教室里了解到所谓的“夏令营”,就是大概120个人将被分到平均两个直升班,并且在五周之内完成全部初三的课程,随即保送到本部,在新学期伊始就进入高一的学习。在一段时间的搜索后,我失望地发现现场的CQYZOI成员只有我、bot、yhy、Ishy。

我觉得这是个疯狂的计划:我真的具备速通初三的能力吗?

我和Ishy被编入21班,而yhy与bot被编入22班。由于没能对H校区产生归属感,我迅速接受了我的新同学们。新生活美中不足的是,为初三开火箭让路的OI学习要再经过三个星期加上一个星期的假期,到夏令营的后半段才会恢复。另外,我才知道 22 班原来还有一位OIer Kevin_James,而他是长期跟随上一届学长们上课的。

愉快的三个星期和中场休息结束了,我们被召集到图书馆大会议室,直升班总负责tjy宣布来到这里的同学必须从此开始,选择一门竞赛学习至少半个学期。不过由于OIer和MOer都早已进入正轨,其它同学选择的范围被限制在PhO、ChO 和 BO。以及,以后我会有更多OI时光,并且甚至还能为OI中断正常的学校学习,这些新闻让我感到自己从未如此想要上学。

只是似乎没能直升的OIer们享受不到这么多红利,还必须通过中考。我不禁为lsc感到遗憾。不过至少这个暑假剩下的时间里,我们几乎每天都能见面。我们一起继续攻克A网站上的模板题,困难的模板题和变式的模板题。

这个过程中我听说去年S组的第一题 julian 很难,这无疑激发了我的胜负欲,我花了一个多小时攻克了这道题,并专门写了一篇题解提交到A网站上。

我们终于进入tarjan和线段树的学习了。三种不同的tarjan很容易混淆,fire因此花费了大量的时间在讲解重边和包含1号点的点双连通分量怎么处理上。不过,对tarjan的正确性fire似乎没有给出让我们信服的证明。为此,MichaelLee在经过漫长的研究之后公开发表了他的研究成果,并且得到了fire的重点表扬。

讲解GSS1时,fire用洪亮而严肃的声音念出“你能回答这些问题吗?”,似乎是真的在拷问我们能不能回答出线段树维护最大子段和的做法。线段树上的标记不难理解,但是写多了难免让人疲劳。lsc就因此在 if() 条件的后面加上了一个分号而调不出代码。我和bot这个时候自然有帮忙的义务,但这次居然连bot都没能发现问题。最后bug是被lsc发到A网站社区求助才解决的。

推进初三知识的进度比我想象中要顺利很多,不过可能这是课程没有附带考试给我带来的错觉。除此之外,我还记得足球和国际象棋、暴雨和泅水上课的同学们、烈日和家委会赠送的西瓜。这些碎片无不宣告着:在H校区的四合院式教学楼里抬头仰望小小的四角的天空的时光永远的结束了。

真的好希望这个夏天不要离开啊。

/*虽然不知道前路如何,但至少比抛在后面的过去更好。*/

我在作文(其实是写诗歌的作业)里这么写。

八月过去,文化课的教室从明理楼搬到三教楼,两个直升班正式开始了高中知识的学习,而我们除了周三外的每天下午都会得到一个多小时的上机时间,地点也从一机房改为了三机房(yhy在这里记录了大家的一些故事,编成了《三机房集》)。让我颇为惊讶的是,我在入学摸底考试(内容是初三和一点点高一的内容)里以很大优势拿下了全班第一,作为夏天完美的尾声。而我知道我的初中成绩一直是在全校 50 到 100 名徘徊的。可能是那个第一次离开压抑的初中部的夏天实在是过得太快乐,因此觉醒了什么奇怪的属性吧。

OI这边,重要的变化终于出现:Chery重新出现在了机房里,向我们正式介绍了自己,并且接管了接下来的训练。fire则逐渐只在机房里镇守纪律,直到他最终宣布将在CSP结束后将我们完全托付给Chery,重新开始带一批新的小朋友。

我们都很舍不得fire,他总是把其实可以很简单就完成的教学任务做得非常拼命,希望通过这种方式让本来就有门槛的OI变得老妪能解。在这一点上,他做得非常非常好:机房里不少自知没有天赋决定放弃OI的同学都在CSP2021里得到了普及组一等奖(分数线是248分)。同时,我们也能感受到,这位新来的略微有些胖,带着黑色眼镜并且常穿拖鞋来机房的北大信息科学技术学院毕业生将会彻底改变这里。

Chery布置的第一个任务是重启我尘封两年之久的洛谷账号,并且板刷《洛谷2021提高组春令营题单》。题单内容很庞杂,不过难度都不高。

有一天,我正在写NOIp2016的组合数问题。Chery踱步到我身边。

“你怎么在做绿题?(现已降黄,当年做的题还是太水了)”

我对这个问题颇为不解:“绿题怎么了?绿题不难吗?”

“额……” Chery的表情写满了无奈,不过他没有把情绪转化为语言。

不过似乎是受到了一点感染,我当即决定和bot一起挑战CSP2019的D2T2 划分 。当然,这道题对当时的我还是太难了。我们一起研究了很久(其实是bot先会了然后教我)才搞明白这道不太模板的斜率优化动态规划的解法。经过漫长的和评测机的斗智斗勇,我终于卡过了这道题的常数。不管看了多少遍题解又听bot讲了多久,总之我通过了一道别人眼里真正的难题,我为此感到很有成就感。

我们的训练方式在这样的过程中慢慢得到了改变,而且马上我们就会见到新的伙伴们,他们将会给我们一点小小的震撼,证明正确的训练方式有多么重要。

Ep07. 璀璨的星河(2021.9.29~2021.11.20)

人物表:

milo:初三,OIer。
lsc:初三,OIer。
bot:初三,OIer、机器人。
yhy:初三,OIer。
Ishy:初三,OIer。
Kevin_James:初三,OIer。

Sp:初一,OIer。
SA:初一,OIer。
cyyh:初一,OIer。
Hch:初一,OIer。
lh:初一,OIer。

yzy:六年级,OIer。

tkz:高二,OIer。
zhenliu:高二,OIer。

qingbai:初二,OIer。
Deepskycore:初二,OIer。
yyt:初二,OIer。

Chery:OI教练。
fire51:OI教练。

出于我不知道的原因,机房里搬来了一些小朋友。他们比我们喧哗,而且带来了 “机房惨案”、“洛谷神贴”,generals.io 一类闻所未闻的新事物。

据说,他们接受过Chery的特别训练,现在水平相当高。

他们5个人才上初一,还有一个六年级早培学生,就被拉到机房来和我们一起训练。一开始几天我们对他们感到陌生,就没有进行交流。不过新的训练很快开始了,训练内容是打 USACO Silver 组成的模拟赛。

题目对当时的我们非常难。我连 P7556 这样的普及组搜索都写不明白。但小朋友没有辜负Chery的特训,我们几乎每次都被小朋友吊打。虽然没有哪个小朋友能一直表现很好,但是可以看得出他们水平比我们更高,第一往往也被他们拿下。

听到Chery讲题时轻描淡写地说出“整除分块”的时候,我们愣在座位上,但是Chery表示他已经把知识教给这些小朋友了。

我们和小朋友打探情况,因此就认识了: SA:非常可爱,不知道是不是因为太可爱了而参加过【】电视节目。他的剧照经常被我们反复欣赏。 Sp:他很认真地维护着一个风格很幽默的机房日志,从此成为了我的饭后必备读物。 cyyh:据称是机房里小学基础最好的,早早就得到了普及组二等奖。乒乓球打得特别好。 lh:神秘的电波系选手,喜欢盯着一张小球生产工厂的动图看,不知道为什么成为了机房惨案常用对象。乒乓球也打得特别好。 yzy:略有些不务正业的六年级小朋友。热衷于在洛谷上“我关注的人”和“关注我的人”间来回高速切换以卡崩浏览器,得到“kkksc03关注了我”的神秘误解系截图。我对此很感兴趣,让他帮忙弄了一张。 hch:敲代码的手速匪夷所思,经常会对别人的提问回复“你是睿智吗?”然后三下五除二解决掉问题。 不过这似乎不是他对别人不友好的表现,因为他自己写代码出错时也会说一句“我是睿智!”然后继续用他匪夷所思的速度修改代码。

我迅速融入了他们,并且学会了各种机房惨案小技巧。但是我不知道这样的行为在社区里是不受欢迎的,因此很奇怪为什么 I AK IOI 的帖子经常会收到不友善的回复。我终于理解的时候 lh 已经由于我的机惨被禁言了,我赶紧道歉,但是他表示他自己本来也不发言,没有关系。

我对此感到非常愧疚,再也没有机惨过别人。

说句闲话……前面忘了,后面忘了,总之洛谷将会臭名昭著!

又一个新赛季就要开始了。虽然大家都报名了,但我决定不参加普及组,因为上午多一次比赛可能会影响下午我第一次参加提高组的状态。

比赛前夕,我隐约听到fire和Chery在讲台上窃窃私语,于是我抬起头来,正好听到fire对chery说:“还是要有信心……”

我对此感到有些不满,莫非Chery对我们没有信心吗?

比赛当天,我来到休息室的时候得到了所有伙伴的热烈欢迎,(bot直接从座位上站了起来,搞得我有点不好意思),在大家七嘴八舌的交流下我好不容易才捋清楚状况。lsc和bot都得到了三百多分,而yhy、Kevin_James和Ishy发挥一般,只有200+,不过他们都有一等奖。bot本来有机会AK的,但是锁屏前一刻才发现数组开小了。

我有点后悔了,觉得自己错过了最后一个AK比赛的机会。

进入考场,看了一眼题目:最后一题的网格图是什么玩意??

还是正序开题吧。第一题 airport 似乎不是很简单,显然国内国际航班是等价的,但是两个naive的贪心策略都不对。经过一个小时我才枚举做法,发现可以用set维护当前最小空闲的廊桥编号,从前往后贪心,就能处理出 (廊桥数量-飞机数量) 的对应关系。虽然我不会严谨证明,但是这通过了所有样例,我就当做这道题通过了。

第二题 bracket 我暂时没有思路,先放在一边。

看到第三题 palin 的名字,我有些担心:难道这道题要用manacher算法?我只知道这个算法的名字,所以我不觉得自己能做出这道题。经过一些尝试之后,我认为自己做不出来这道题,于是只写了28分暴力。

第四题 traffic 我没有任何思路,写了一个输出随机数的程序。

回过头看 bracket,我突然意识到这个问题和数据规模似乎是区间DP。但是拼尽全力写出一个程序后,对着样例调试的过程中我才发现会算重,而我并不会去重。这道题几乎无法写出暴力程序,我不得不遗憾离场。

考场内有些缺氧,出考场的时候我的脸红得像被八月的太阳炙烤过。在外面听说 yhy 和 Ishy 都通过了第一题,yhy 甚至在 palin 得到了 40 分。

不过后来他们都表示复杂度有问题,我的 128 莫名其妙变成了机房最高分。我和SA,Sp紧张地按照去年的获奖率和民间数据测试结果计算我能否得到一等奖。

分数线公布的时候是一个下午,我刚推开机房门,SA就大喊着“你有一等奖了”跳了起来并冲向我。庆祝的我过于激动,直接跪在了机房地板上。

讲台上的 fire 笑逐颜开。

发现我们没有人通过 palin 之后,chery表示这是因为“CF做少了”,直接宣布每天两个小时的训练全部用来做CF题。虽然我们还不知道 codeforces 这个OJ的存在,但我们马上就感受到这是真正的对智力的试练。训练集里只有模板题的我们完全无法应对,虽然我经常得到rank上初三的第一名,但这不代表我能通过Div2C。

可是ranklist上还有两个 id 为 tkz 和 zhenliu 的选手每次都能通过大部分题,甚至一度逼chery临时增加新的题目。我了解到他们是我校高二的选手,当即对他们钦佩得五体投地。如果能和他们一样厉害就好了,我想。

在CF训练以外的时间,我对 traffic 这道题起了兴趣,当即拉上bot一起研究,并向他发起比拼谁能先通过这道题的挑战。当然,现在看来平面图最小割转最短路再加区间DP是再显然不过的做法。不过在当时,挤出心理测试的时间debug都没能赢下比拼的我还是收获了巨大的成就感。

机房里又多来了几位伙伴,这次是初二的学弟。看上去风流倜傥的qingbai、瘦高的yyt和被fire重点介绍,也是刚刚压线得到提高组一等奖的Deepskycore——那个时候他的ID还是一串文明话拼音缩写。“这是一位非常厉害的选手”。

当然,没有在场的人能预料到这句话未来的分量。

还没来得及和他们互相熟悉,NOIp2021就先来临了。完全不知道这场比赛意义的我茫然地踏上了考场。

number 是一道很简单的筛法题,我不到半小时就通过了这道题。

想着CSP的T3要简单一些,我就打开了T3 variance ——然后就玩了三个小时。

我先慢慢推导出方差的公式,又花了很久意识到任意交换差分的性质,但是我的能力不足以让我写出接下来的DP,于是我拼尽全力写了很多个贪心,没有一个能通过大样例。

垂头丧气的我打开T2 sequence,却发现这题暴力搜索一分都得不到。我只能无奈地开摆,写下能得到 0 分的程序。当然,chess 的题面这么长,我是不会看的。

一百多分也不算太坏吧,应该。但显然,Chery并不这么想。他拒绝评论我们的NOIp成绩,只丢下一句“NK有考得很好的”,然后就加大了我们的CF训练量。不仅如此,这次还有新面孔加入了CF训练。

我们不久之后就要认识接下来一年半里最重要的特别的朋友们了。

Ep08. 永不长大的故事(2021.11.20~2022.5.28)

人物表:

milo:初三,OIer。
lsc:初三,OIer。
bot:初三,OIer、机器人。
yhy:初三,OIer。
Ishy:初三,OIer。
Kevin_James:初三,OIer。
lsx:初三,OIer。
MichaelLee:初三,OIer。

sword:高一,OIer。
lzy:高一,OIer。
ycz:高一,OIer。
fs:高一,OIer。
lry:高一,OIer。

Sp:初一,OIer。
SA:初一,OIer。
cyyh:初一,OIer。
Hch:初一,OIer。
LH:初一,OIer。

PG:高二,AFOIer。

qingbai:初二,OIer。
Deepskycore:初二,OIer。
yyt:初二,OIer。

Chery:OI教练。
fire51:OI教练。
tjy:CQYZ直升班总负责人。

从隔壁机房走来的是我们的高一学长,不过现在我们还不是很熟,仅限于能把他们和各自的名字对应起来。

lry是他们中我最早认识的,因为他经常在月考的间隙在操场上加入踢足球的直升班的同学,而我从不缺席这个活动。 sword 是里面最外向,也似乎是最有实力的。不过他NOIp没有做出T2而没能得到一等奖,在游记里表现得非常遗憾。lzy喜欢和他互相膜来膜去。当lzy说出“O-R-Z-sword大佬太 ~ 强 ~ 了 ~”的时候我就知道又一条不知道有多长的orz链要开始了。 fs似乎是lzy的很好的朋友,他平时比较沉默,不过他整理了一个叫“Chery自动机”的程序专门随机输出Chery的名言警句。

/*前面省略非常多条*/
talks.push_back("没有呢宝贝");
talks.push_back("没有"); 
talks.push_back("咋回事呢"); 
talks.push_back("三分薄凉三分讥笑,四分漫不经心.jpg"); 
talks.push_back("baidu.com"); 
talks.push_back("下次给你讲"); 
talks.push_back("好菜啊你宝贝"); 
talks.push_back("少听扯淡"); 
talks.push_back("……"); 
talks.push_back("到底懂不懂"); 
talks.push_back("你是不是没学过dp"); 
/*后面省略非常多条*/

ycz则看起来像是人们刻板印象里的的标准学霸。不过他一开口说话(或者膜拜lzy)我就知道完全不是这样。

呜呜呜,被l↓zy fake了

从初一小朋友那里,我了解到刚刚的NOIp结束之后,由于我们的高二学长抢救失败被迫解散,他们已经是机房里年龄最大的人了。看着NOIp的成绩单,我有点难以置信:平时打CF这么厉害的tkz学长怎么和我一样NOIp只有一百多一点?原来NOIp比平时的CF还要难得多吗?

SA说,刚刚退役的学长们里有高二的常驻年级第一PG,他是一个非常可爱的人。

我于是就在主页里写上明年目标是为 PG 报仇。不料这条主页被他看到了,他当即私信我说其实不用为他报仇的。也是,就算我想,现在的我也什么都做不到,即使是由两道缩点模板和一道DP、一道贪心组成的模拟赛都只能得到十分……

为了表示纪念,在开通洛谷博客之后,我以他的名义创造了一个虚拟许愿池。在每次重要的考试之前,我都会来这里写下我的期待。

CF VP上的排名并没有展示出很鲜明的根据年龄差距划分的实力差距,很多时候我们能比高一的学长们打得好。

某天在洛谷上划水时,我偶然发现了一个叫 Enthalpy_(也就是后来的feecle6418) 的人。我点开了他的 CSP2021游记。

90min 过了 t1~t3 大样例,感觉很离谱。

这句话对我造成了巨大的精神震撼。我怀着崇敬的心情读完了他的 AK 记。

在沿着关注列表一通搜寻之后,我又发现了 gyh20 和他的 noip2021 游记。

每个连通块开了 3 个 set,n+m+2 棵动态开点线段树,其中一些是用 map 存的根节点,合并的时候直接启发式合并,属于常数巨大的 log2,但还是写了。
一写就是一个小时,第一次调过编译的时候代码已经有 6k+,但样例一个询问也过不去,手动画图模拟了一下,发现少考虑了亿种情况,又过了半个小时代码达到了 8k+ 加上多测清空过了两个小样例,但大样例的输出差很多。
手造的一下感觉很细节的地方又没有错。。。
…… 最后 5 分钟,重新测了测样例,装好文件夹就走了。

然后是 time_tears 和他的CQOI2021游记。

考完 T1 出来人均 160pts+ 我感觉自己真没救了。于是一下午加半晚上都在打游戏想要逃避,就留了半晚上看了看笔记,也睡的比较早,当时心里想的就是 Day 2 随便考考吧,反正都没救了。 …… 大约在 12:20 T1,T2,T3 的对拍都开始运行,并无问题,然后就考虑各种极限情况看会不会被卡掉。 最后 T1,T2,T3 极限数据分别跑了 0.4s、0.3s、0.7s,都没啥大问题。就等到了 1:00 离场。

这些非常不人类的游记在机房里受到了反复传颂和膜拜,而上面列出的经典片段被列为了必备篇目。

在另外一条故事线里,奇怪的属性继续发力。我连续拿下了四次月考的21班第一(所以我到底是怎么做到的呢?印象中我并没有为此付出超人的努力,甚至在听说语文作文诗歌除外后在作文里写过诗。可能这是什么十四岁限定的魔法,只要向内心探求真正的自由和快乐,就能得到无尽的力量吧。当然,大人的世界里这一套是不管用的)。这无疑让我受到了一些我不太期望的关注,比如在前往机房备战CSP的路上被一句“月考要考前几名”赶回来。

寒假开始,Chery隆重推出了五十题的“线段树入门豪华大礼包”,并说出了豪言壮语 “我们CQOI2023要进两个” 。我对此有所怀疑:Chery就对学长们这么有信心吗?还是说这个任务要由省选知识刚刚起步我们来完成?

显然,理想和现实是由差距的。高一学长多一年代码积累情况还不错,长期把儒略日当做代码难度的最高挑战的我们就做得非常挣扎了。这其中bot的情况略微好一点,其他人的进度就像陷入泥潭的汽车,徒劳地做着功却不能前进分毫。更何况当时generals在机房非常流行,侵蚀了不少的训练时间,题单的进度更慢了。

在拼尽全力通过了人生的第一道黑题(APIO2018 新家)的第二天晚上(显然,第一次写线段树上二分的我花费了好几个小时调这道题的细节),我和lsc发现机房里的小朋友正在玩 generals.io。我们当即加入。大概在欢乐的游戏进行了两个小时之后chery破门而入(“玩游戏的都回去!”),以我们从来没见过的愤怒到全身颤抖的样子训斥了我们。被机房里chery燃烧的怒火和冰冷的冬风鞭笞了一个小时之后,我们收到了上交800字检讨的惩罚。记者报道

不久之后,我又打开generals.io的时候被fire用他标志性的目光瞪了一眼。想起过去几年fire无数次拼命讲课的样子的我突然觉得其实generals也没有这么好玩,决定从此戒掉游戏,认真学习OI。

没想到这成为了永久性的变化。在这之后,我几乎失去了对电子游戏的全部兴趣。

线段树题单结束之后是平衡树题单,对代码难度的要求有过之而无不及。我逐渐意识到代码能力成为了我的巨大短板,而——我有些惭愧地意识到——这多少和前一段时间的颓废有些联系。

不过,在不要求代码能力的时候,让人开心的进展还是不少。2月14号,chery宣布将要举行校内ACM情人节烤肉券争霸赛。H校区的三人组我、bot和lsc自然组成了"I_shui_IOI"。这个小队在没能调出势能线段树的情况下奇迹般地压过了两个高中队伍得到了rk1,并获得了Chery请的免费烤肉。2月25号我们VP了一场edu,过到E的我第一次在CF VP活动中拿到全学校的第一。不久之后的NOI online,顺利过掉前两题的我又拿下了全校第一(游记)。

lsx和MichaelLee似乎得到了特别的权限,得以离开他们的校区来到本部恢复训练。在lsx的指导下。我写下并通过了第一篇洛谷题解。这些事情让我隐约觉得自己似乎有能力超过高一的学长们。

但OI总是这样的,随机区分的比赛总会给人对自己的实力的幻觉。5月,THUSC如期线上举办。day1的四道题我毫无思路,甚至做出了“看到期望就跳过T1”的不理智决策(这道题是最简单的)。又把T2的50分暴力放到一边去玩T3的通信题。在写出一档部分分之后queue的长度已经达到了两个小时。无法验证程序正确性的我无奈回去写T2,却因为代码能力不足没能调出暴力,在比赛结束之后T3终于测完了——爆零。day2的工程题更是雪上加霜,慌不择路的我甚至在 T2 T3 轮流开题的情况下连续写挂了两个简单模拟,最后一个都没调出来。

于是我最后得到了非常滑稽的分数:0+16=16。其他人的情况略好一点,不过无济于事——整个机房里没有人得到认定。我瘫坐在位置上一边听着评讲一边不相信这怎么会发生。不知怎的我又想起gyh20的NOIp2020游记。虽然自知水平远不能和他相比,但是初三的我相信自己和排水系统爆炸的gyh一样有从头再来的机会。说不定在未来的某一天,这黑暗的一天就会成为一切的起点。

但在这之前,还是先完成更重要的任务吧!我们开始复习(其实是预习)中考,OI学习因此遭到削减。并在我完成P5586并制造梗 “我和c++不共戴天”(我说出这句咒语后洛谷的随机RE消失了)后最终暂停。在初中OI生涯的最后时刻,我依然在和线段树、平衡树作无休止的斗争。代码能力的欠缺已经让我焦头烂额,而前面的挑战是那么艰巨。

又开始恢复和OI的联结的时候,我已经在宁波招宝山饭店的床上写中考游记了。比起分数,我显然更在意被彩绘铺满的黑板和贴在背上的爱心贴纸、那场盛大的篝火晚会以及毕业时唱跑调了的追光者。流水账的结尾写下了我真诚的许愿:“我们都在一个又一个永不长大的故事中前行吧?”

我的确是这样相信的。

Ep09. 海边的夏日(2022.6.20~2022.8.13)

人物表:

milo:高一,OIer。
lsc:高一,OIer。
lhx:高一,OIer。
bot:高一,OIer、机器人。
yhy:高一,OIer。
Ishy:高一,OIer。

sword:高二,OIer。
lzy:高二,OIer。
ycz:高二,OIer。
fs:高二,OIer。

Sp:初二,OIer。
SA:初二,OIer。
cyyh:初二,OIer。
Hch:初二,OIer。
LH:初二,OIer。

Chery:OI教练。
fire51:OI教练。
tjy:CQYZ直升班总负责人。

fsb:镇海中学OI教练。
Rainfestival:OIer。
dblark:OIer。
skc:OIer。
wcc:OIer。

中考期间,我和bot回到了H校区。他告诉我说,在中考结束之后,我们将会直接飞往宁波,在镇海中学参加集训。

我从来没有一个人离开家这么久过,对这个消息感到非常兴奋。

虽然我很急着写启程以后的事情,但是有一件事必须要隆重地提一提:lsc和lhx经过一年和中考的鏖战,终于成功达到了本部的分数线,并在我们出发的前一天回到了机房,受到了等候已久的我们的热烈欢迎。但是不知道为什么,得到集训机会的只有高二的学长们、我、bot、yhy、dyx八个人。初二的学弟们将会在一个月后赶来,其他人则会留在本部。看来某位天才又要继续沉寂两个月了。

经过这一年,机房的成员也悄悄发生了一些变化。高二的lry、高一的Kevin_James和初一的yzy都退出了CQYZOI。不过对我来说最重要的是,尽管BS和YC中学曾经三番五次的邀请我(显然是神秘属性发力了),bot也受到了NK中学的邀请,但是我们都很珍惜CQYZOI的大家所以最终选择了留下。时至今日,和我有关的人们依然喜欢评价这个选择的得失,但我不是很愿意提起这件事,因为这个选择对我的意义已经远远超越了得失本身。

那天清晨,我们和学长们一行人正在拖着行李箱往安检门,yhy突然停下脚步指向了某个方向——我从来没有想过tjy居然也跟来了,而且他要一路陪我们到宁波。

下了飞机,我、bot和tjy被分配到了同一辆出租车。车沿着高架路一路向东,到了甬江边靠近海的地方,最后在招宝山饭店门口停下了。在tjy的盛情款待下,CQYZOI新高一的成员迎来了第一次丰盛的聚餐。可以看出来,tjy对我们寄予了很高的期望。

天气炎热,但是酒店的空调开的很足。我和bot入住了同一个房间,并为酒店优渥的环境感到兴奋。我们立即投入到了APIO的补题活动中。美中不足的是,因为没有椅子和足够的桌面,所以我们不得不在床上打字。

不知道怎么想的,我们在宁波的第一站居然是直奔重庆小面。离开家来到新环境,并且想到马上就可以尽情地训练OI的我过于亢奋,把房卡丢在了那里。(与此同时,tjy正在和镇海的教练fsb“沟通感情”)。

晚上,听说我们还没做明白APIO的题(这也不怪我们,毕竟 APIO2022游戏 堪称神题)Chery把我们和高二的学长召集起来。并让 sword 给我们讲题。sword 对此显得胸有成竹,无奈这道题的做法实在是太过抽象。最后在我的反复央求下,sword单独为我开了十几分钟小灶,我才勉强接受了这道题的做法。

我们很快就见到了镇海中学。尽管我很喜欢我的母校,但是从我踏入它的那一刻起,我就知道有些东西无论CQYZ再修多少栋红砖教学楼都无法企及。灰白色的墙和黛色的瓦沉稳地凝视着我,仿佛千年以前这里就已经是这样浸润着书香,百代以后也还会是这样。这里不像是某所学校,反而像是某个大户人家的遗产。

我们被安排到了机房的角落的一排座位。机房里正在为了学考的问题吵闹的地动山摇,但是没有人理会我们,我们只能继续打开“省选03.树上问题”继续推进题单进度。(我的代码能力依然严重欠缺,简单的平衡树“电源插排”都要写3个小时。)

与此同时,我们也注册了 codeforces 和 atcoder 并参加了几场比赛(显然是Div2和ABC),不过这个时候显然没有什么突出的表现,在我们眼里,两项比赛分别能过到 C 和 E 就算成功。

我和bot依然热衷于挑战自己,口胡了“NOI2021 轻重边”的一个很复杂的做法,经过漫长的卡常,我终于在NOI2021成功签到了,但是bot的代码在我的帮助(很可能是帮倒忙)下最后被卡在了95分。

某一天,chery给了我们一套来源不明的三道题的模拟赛。题目其实并不难,不过由于MLE等原因我只得到了一百出头的分数。

但是 sword 两个小时就AK了。而且我惊讶地发现,同一张榜上有初三的 skip2004,只得到了270分。于是我迅速制作了一张 "sword 吊打 IOI Au" 的图片并发到了群里。sword无奈的让我删掉这张照片。

从这时起,我才开始留意:不知道为什么,学长们的实力在我们不在的时间里突飞猛进,不光模拟赛如此,推进题单的速度也是我们的数倍。

在镇海中学的日子非常惬意,远离还在上文化课的同学和那个似乎正在成为不合理压力来源的地方。以肉眼可见的速度解决一个又一个知识点。而且,明白自己在OI的正轨上稳步前进。闲暇的时光中我会打开我的组合数学,或者央求bot帮我调我的“扩展中国剩余定理”直到深夜。只是房间里显然还有一头大象:这些事情不是在CQYZ也可以干吗?

答案最终揭晓:这里并非我们的最终目的地。我们搬离了招宝山,顶着炫目的烈日,搬着沉重的行李(主要的重量由被子贡献)来到了蛟川书院。宿舍不仅条件不太好(8人寝,但是上铺无法使用,实际上一个寝室只住下了我们初三的四个)而且似乎十年没有住过人了。在我们入住的时候两只碗口大的蜘蛛张牙舞爪地宣告着它们对宿舍的主权。七月中旬最炎热的时节来临。从宿舍里到食堂的两三百米路地板滚烫,而且几乎无法睁开眼睛。

总之,这些事情让我对蛟川书院印象不是太好。

来到这里的最初几天生活节奏还是没有什么特别大的变化。我在咨询 chery关于OI学习的正确节奏的时候得到了 “今天吊打sword,明天吊打mrsrz,后天吊打dmy”的无厘头回答。碰巧,第二天在NOIp模拟赛中,最近一直在写树上问题而手感滚烫的我写出了一道特别复杂的点分治从而得到了rk1。

milo明天开始第二步/bx ——lzy

我意识到lzy除了无条件膜拜任何人,似乎也很有喜剧天赋。于是开始记录lzy的发言并制作成表情包。

Chery楼下 Chery楼上

你说禁|言就禁|言,你|算|老|几

有点入土为安的意思了(指暑假作业)

不能给个明确的(放假)时间安排吗 反对人类暴政,世界属于三体!

你觉得我没有你的图是吗 我只是没放出来 陈老师 做人留一面 日后好相见 你没了 我不打(牛客)了 我去生产图了 算了好麻烦 我去玩炉石了

刚开始的时候,他在群里的昵称是“转世成为lzy然后爆0”。

凉了,宇——Chery

被Chery Diss了一顿之后,他把群昵称改成了“凉·宇”。

又在干什么,宇?——Chery

而关于我们对 lzy 的各种二创,lzy的态度是:

可恶,你最好有事!

除此之外,lzy经常意义不明地拳击(没有攻击性,可以视为做题时的白噪声)旁边的fs。所以机房做题的时候常常可以欣赏精彩的打戏。不幸的是,这招被bot学去了,偶尔会应用在我身上。

宿舍里很快变成了大家欢乐的场所。我教会了大家《追光者》。Ishy则会在宿舍里放他喜欢的 AVICII 的『The Days』。不过最欢乐的事情想必还是在四台电脑上同步播放 《Never Gonna Give You up》吧。

不过欢乐的时光很快就结束了。某一天的模拟赛难的异常。有两道不可做题和一道很明显是SG函数但是不太好猜出来函数值是什么的题。尽管我通过四个小时的打表猜到了这道题的规律成为了学校里的最高分,但是我明显意识到事情不是很对劲:以后的训练都是这个难度吗?

为了补这场的T2,我度过了极其痛苦的四天。中间还因为刷知乎被Chery Diss了一次(“你不会想NOIp退役吧?”)。于是行动力超强的我又从此再也没有刷过知乎,可惜这并不能阻止我在大脑燃尽的时候盯着屏幕神游。

很不幸的是,接下来的事情远远超出我的想象。在安排下,我把大家的姓的首字母拼成了我的新ID“lgwtxdy”,注册了一个ZROI的账号,开始打NOI十连测。如果你不了解这个比赛的难度的话,我认为只有CTT才能与之相比。

接下来的八天,我都在重复一直挣扎到比赛临近尾声才提交我的最低分暴力代码,并在ZROI上垫底的过程。而且其中还有一次是我的生日,也是我和同学们一起度过的唯一的一个。我得到家人远程订购的巨大的蛋糕分给了大家。虽然蛋糕很好吃,但是连续爆炸垫底的苦涩随着蛋糕一起咽下的感觉还是怪怪的。

连续8天的模拟赛结束后,初三的我们竟然在ZROI的下分榜前十上占据三席。我由于少了一两个10分的低档暴力荣登榜首。唯一一个没有遭到这样的命运的是bot,尽管一直在下分,但是他多出了一两个10分的暴力而保住了自己的下限。在巨大的能力差距面前,我完全无心反思这些模拟赛。或许我的确应该再想想这样的情况下我能做什么或者多补几道题,但在当时,意志还不够坚定的我只是觉得终于从痛苦的八天,每天五小时在机房隔壁的空教室一个人生产思维废料的循环中解脱了。

于是在暑假训练日记里,我表达了自己的苦恼:之前有过一段状态很好的时间,不知道为什么变成了这样呢?但是我没想到bot一直在看我的日记,所以当天他就知道我在自闭,并且告诉我大家都在经历同样的时期,并让我讲讲大概半个月前的代码源模拟赛的某道只有我会的题是怎么想出来的。不得不说这是个非常好的转移注意力的方法。或许是因为第一次有了被需要的感觉,我很快就不再因为模拟赛的事情苦恼了。

过了两天,机房里发生了一些矛盾。我不太理解事情的全貌,只记得 Ishy 突然非常严肃地问我们分别觉得做人的底线是什么。

问到我的时候,我在沉重的空气中恍然想起了中考刚刚结束时分叉的前路,于是我认真的告诉他,人不能背弃最初的选择。

接下来的日子里,镇海中学展示了自己雄厚的实力,接连请来了 lyx,skip2004,yhx三位IOI Au校友来讲课,就连xpp这样的 NOI Au 都显得略输风骚。

只不过,我们完全没能听懂 lyx 对数学的自由发挥,甚至在课程结束之后单独请教他怎么证明期望具有线性性。skip2004 的字符串火箭逼得我们在10分钟之内学会了PAM,20分钟之内学会了 SAM,至于能不能应用就是另一码事了。yhx的群论知识非常困难,我们后来花了非常长时间才能勉强完成一些 Burnside 引理和 Pólya 定理的入门题。

不过上课体验最好的是 ckr。DP进阶这个主题很符合我们当时的水平。在意识到这一点之后,我坐到第一排,开始频繁提问和打断。ckr显然没有面对过这个把大班上成一对一的状况,不过鉴于我实在是太过积极,他还是认真的解答了我的所有问题。

在难得的假期里,我们得到了到市区吃海底捞和玩剧本杀的机会。海底捞所在的商场地上有一台脚踏电子琴,我用它演奏了《小星星》。大家很专心地看着我踩完了所有音符。SA还为我录了像,那成为了回忆宁波时光时唯一的视频。刻进了我心中对那个夏天的最深的印象。

不知道为什么,和我一起参与剧本杀的是初一初二的小朋友们,所以我就成为了推理担当。

返程的路上,我、bot、sword坐上了同一辆出租车。sword似乎很想借着这个机会多教我们一些东西。于是在他的要求下我们秒了 IOI2021 的 D2T1(绿),还听他讲了一路的函数求导方法。

一次比赛结束后,难得有一道很神的dp我第一个看懂题解。我很惊讶的是,sword走到了我的座位边问我这题怎么做。不过我怀疑他自己本来就会这道题,因为我还没讲上两句他就说自己听懂了,他可能单纯只是想回到座位后给我发一个可爱的大拇指表情包。

由于某次模拟赛里出了一道动态加数求集合 AND 最大值,我认识了和我同岁的 Rainfestival,并且请他教会了我这道题,我在写博客总结的时候顺手把这个技巧命名为 Rainfestival 树。不过,我没有想到相关题目的题解区里,这居然变成了一个半正式的名字,可是这个技巧和树没有关系啊(捂脸)。

和 Rainfestival 经常互相 D (镇海特色语言,表示互相对轰文明话)的是比我高一级的 dblark,不知道为什么他得到了一个“黑↑恶卷怪”的外号。

相比于经常机惨教师机的 Rainfestival,dblark则显得博学多才。甚至作为讲师来讲解了一次多项式。尽管他的讲课风趣生动,我还是一个字都没有听懂,不过我再也没有忘记这个场景:

dblark:我们随机抽取一位 skc,请问你会多项式求逆吗? skc:我也许会。 dblark:so sad. dblark:我们随机抽取一位 wcc,请问你会多项式求逆吗? wcc:我可能会。 dblark:so sad. dblark:我们随机抽取一位 (忘了),请问你会多项式求逆吗? ?:我应该会。 dblark:so sad.

要回到重庆了。这个关于OI的夏天即将告一段落。尽管发生过痛苦的事情,但因为这些故事,我依然觉得来到遥远的海边是个不错的决定。

Ep10. 徘徊的秋季(2022.8.28~2022.12.24)

人物表:

milo:高一,OIer。
lsc:高一,OIer。
lhx:高一,OIer。
MichaelLee:高一,OIer。
lsx:高一,OIer。
lhx:高一,OIer。
bot:高一,OIer、机器人。
yhy:高一,OIer。
Ishy:高一,OIer。

sword:高二,OIer。
lzy:高二,OIer。
ycz:高二,OIer。
fs:高二,OIer。

Sp:初二,OIer。
SA:初二,OIer。
cyyh:初二,OIer。
Hch:初二,OIer。
LH:初二,OIer。

deepskycore:初三,OIer。

Chery:OI教练。
fire51:OI教练。
tjy:CQYZ直升班总负责人。

回到学校,我们补了几天错过的课。但是疫情立即卷土重来。很快,补课的大家就被迫解散了。而在家中短暂呆了几天,就开始备战CSP了。

只是我没有想到,备战的第一步居然是 VP NOI。

在day1开始之前,我听说了 deque 会造成 D1T1 major MLE 的传闻。不知道怎么的,我试图用 vector 代替 deque,写完了代码才发现 vector 不能 push_front,于是我紧急修改为链表。但是我的逆天代码能力短板再次发力:我写挂了,而且调不出来。

day2的我立誓雪耻。某种意义上我成功了,因为我用三个小时拼尽全力通过了 D2T1 iso,但是我没能对后两道题产生任何想法——并且我的暴力又写挂了。

于是我得到了 20 + 0 + 0 + 100 + 0 + 0 的诡异铁牌得分。

赛后,在翻阅游记的时候,我发现了我们的偶像 gyh20 的游记里频繁提到一位被称为机器人 bot 的选手 dottle。但是我怎么觉得他对 dottle 的描写和我的某个同学这么像呢?于是bot就不是很情愿地得到了他的这个外号。不过现在,由于波特实力的不断增强,现在他的段位已经上升到“波神”了。

随后,chery从代码源上弄来大量的模拟赛,这些模拟赛的质量良莠不齐。不过印象非常深刻的是有一场的T3是根号分治+状压DP,由于我提前了解过这个套路(并且在自己的名字前加上了"!!!") 所以AK了,并且取得了 rk1。当天,我们被宣布可以搬到学长们所在的四机房,和我一起AK的 lzy坐在一边,于是我当即作诗一首:

僵卧孤村不自哀,lzy AK IOI,夜阑卧听风吹雨,milo今天又垫底。

这显然得到了 lzy 文明的问候。

2022年10月29日,CSP-S2022如期举办。为了提升手感,开考前我尝试写了一下儒略日,但是怎么写了四十分钟。这到底是提升手感还是降低手感呢?

不管怎样,我不得不抱着初生牛犊不怕虎的心态进入了考场。其实作为一个高一选手是不应该有这样的心态的,但是我别无办法:没有任何证据能够说服我,自己有任何的竞争力。

holiday 一看就是一道 meet-in-the-middle 题。但是草台班子的我竟然没有根据这个直觉立即想出做法,而是磨了一个小时洋工。在没有进展的情况下,我决定打开 T2 game:至少这道题可以通过ST表和分类讨论做出。但是我的草台班子属性再一次展现:根本没有写过几次ST表的我觉得ST表容易写挂,决定使用线段树完成这道题。好在试机的时候已经写过一棵,复制过来增加细节就可以了。

但是在堆代码的过程中我突然意识做出了 T1“保留三个” 的关键观察。不管怎么说我在80分钟通过了第一题,又在110分钟通过了第二题。

对于诞生了千古名梗“不可以,总司令”的 T3 galaxy ,我经过认真思考得到了暴力和特殊性质的 60 分做法。无疑,xor-hash是一个广为人知的技巧,但是很遗憾,那是我第一次遇到需要用这个技巧的题目。

打开 T4 transmit 的时候时间已经所剩无几了,尽管我隐约意识到这个题和暑假反复训练的 “动态DP” 似乎有一些关系,但我不得不赶紧开始打暴力。暴力写完的时候我测试了 k=3 的样例发现WA了,调了一会发现居然可以走到链外边,于是我认为自己的程序完全不对,补上了一个 k = 1 的代码比赛就结束了。出考场的估分是 100 + 100 + 60 + 16=276。

不过没有删掉“错误”的程序显然是好习惯:对 k=2 我的程序是正确的。最终我倒挂 28 分得到了 304 分。而且这个只完成了trivial部分的分数不知道为什么又在机房里显得特别高。由于sword因为卡时随机化的原因挂了很多分,比我得分高的选手只有高二的 lzy 学长和 初三的 deepskycore。

尽管一无所有,尽管知道这个成绩没有任何分量,但我真的好开心好开心。

『whoever and wherever, CQYZOI brings us together』—— 《CSP2022瞎打记》

CSP结束后不久,我们又回到了家里,开始为 NOIp 停课。停课伊始我就直接打开了 WC2018 通道 作为挑战的对象。但是这道题繁杂(也许并不?)的细节和巨大的码量让我在上面消耗了一天时间。当然,如果一直专心致志是不可能需要这么久的。但是在调试的时间超过一定限度的时候我就失去了耐心。开始在各个网站上点来点去。或者盯着屏幕浪费时间。事后看来,这是培养调试习惯的大好机会,但是我并没有抓住。

在家的训练以每天的模拟赛为主。伴随有互相的推题,我因此做了不少AT和CF上中分段的题(不少题很有趣,比如bitset维护莫比乌斯反演的 Alex and TV show)。但是我面对模拟赛的态度出现了很大问题。由于在模拟赛里找不到正反馈,我开始在模拟赛中发呆和在洛谷点来点去。不仅有很多应该做出来的题没有完成,部分分没有打,甚至模拟赛补题也处于摆烂状态。刚开始的时候停止思考和摸鱼确实比继续回去面对痛苦的烂在编辑器里的代码舒服,但是这样的时光过了好几天我就发现我从未这样讨厌现在的自己:一种让人窒息的死循环在心中生长,根源似乎是CSP的好成绩,而养料则是心中的浮躁情绪。时间已经迫在眉睫:NOIp2022只有两周就要开始了。尽管我不抱进入省队的希望,但是如果以这样的态度面对考试是我无法接受的。

我不知道自己是怎么了,但是为了彻底摆脱这样的状态,我觉得不能只依靠自己的力量,于是在博客上发布了一篇对自己的反思(NOIP2022 day -14)。非常让我感动的是,博客立刻得到了大家的点赞和加油,CQYZOI brings us together 不只是某个成员的CSP成功之后的一句口号而已,这是真正发生在每一天每一刻的事情。

这天稍晚时候,父亲突然说觉得担心我学OI学久了会变成机器人。不过这次不同于往日在他沉重的语气下总是退让而自我怀疑的我,这次我有了足够的理由说出“完全不是这样的”。

不过其实变成bot也没什么不好,他一直充满动力的样子让我非常羡慕。

NOIp的日子还剩下一周。我们被提前安排到 M 校区隔离。看上去,NOIp要在封闭中举行了。

刚到M校区的宿舍,我把电脑放到了桌子上,结果我上个厕所的工夫就发现Ishy在洛谷帮我提交了 "A+B Problem" 的代码。

真是的,我本来还想到退役的时候发一句“你看我这么菜,我连 A+B Problem 都不会!”的。

模拟赛照常进行,值得一写的事情是某一天,机房里的模拟赛需要用到 dilworth 定理的一道题只有 lhx 一个人通过了。不过在我们的一再询问下,他也不是很能讲明白他是怎么想到的。所以,我们只当这是单个运气好带来的孤立事件。

还剩四天,Chery突然接到电话,告诉我们 NOIp 可能会被迫取消,但是一定不要放松训练。

还剩三天,紧张的训练仍在继续,Chery的电话打个不停。

还剩两天,尘埃落定。

NOIp2022.CQ.delete();

作为NOIp的平替,春季测试2023将会在来年三月举行。但是更糟糕的是,我们被反向隔离在了学校里不能离开,这意味着接下来我又要度过没有OI的痛苦的在网上补课的一个月了。这是整个高中生涯中我的文化课学习最举步维艰的时光:由于缺课而听课掉线的情况比比皆是,每天都有三倍于我能力的作业写到深夜。

这些事情的细节我都已经淡忘,记的清楚的是和机房里的其他人一起制作授课老师的表情包,和dyx一起探索的化学实验软件(把钠加到盐酸里会怎么样呢?),对着正在打游戏的 lhx 无奈地对 bot 说“临渊羡鱼,不如退而睡午觉”,以及最后离开隔离的时候sword如释重负地吐槽我的鼾声。

我从未如此想要继续我的OI之旅,而深知这一点的sword对我和bot说:

你们马上回去就停大课,至少会有大半吧。嗯……会有很多时间学OI的。

作为这一切的尾声。一个月以后,我们打开了NOIp2022的VP。在迅速通过了第一题 plant 后,我对第二题 meow 进行了长达两小时的思考。由于去年“过两题才有一等奖”的经验,我一度怀疑自己的水平是否没有任何提升。不过功夫不负有心人,我花费了 3.5 个小时最终攻克了 meow ,又在 match 拼上了8分暴力。最后 100 + 100 + 0 + 8 是一个勉强让我满意的分数。

但是大家一讨论我才发现自己怎么把整场比赛最难的题过了。恍惚中我终于意识到,尽管曾经坎坎坷坷,尽管一度徘徊不前,一切确实和去年不一样了。

在重新开始之前,先为此好好的庆祝一下吧。

Ep11. 同舟共济(2022.12.28~2023.3.5)

人物表:

milo:高一,OIer。
lsc:高一,OIer。
MichaelLee:高一,OIer。
lsx:高一,OIer。
lhx:高一,OIer。
bot:高一,OIer、机器人。
yhy:高一,OIer。
Ishy:高一,OIer。

sword:高二,OIer。
lzy:高二,OIer。
ycz:高二,OIer。
fs:高二,OIer。

Sp:初二,OIer。
SA:初二,OIer。
cyyh:初二,OIer。
Hch:初二,OIer。
LH:初二,OIer。

deepskycore:初三,OIer。

PG:高三,AFOIer。

Chery:OI教练。
fire51:OI教练。
tjy:CQYZ直升班总负责人。

新年伊始,停课的时光继续。Chery公布了新的训练计划和重要的通知:大家会分到一篇近期的集训队论文并研究一周,研究结束后有两天分享环节,接下来一段时间,大家一人负责一个赛季,解决2009~2018年的官方赛事题目并互相分享。春季测试中得到CQ-20以内的同学可以继续停课。

但是,没能获得直升的几位同学没有得到停课的资格,他们只有每天下午会来到机房两个小时左右。我不禁对此感到困惑,也为他们感到不公:这样真能在春测里得到好成绩吗?

我为了偷懒选择了一篇讲解“按时间分治”的论文,至少这类基础数据结构技巧比较容易看懂,事情也确实如我所料。但不知道为什么bot选择了和计算群论有关的论文,整整一周都在研究一套我看不懂的符号系统。

到了分享的时候,bot以他对 Schreier-Sims 算法长达两个小时的清晰且精彩的讲解震撼了台下的所有人,并展示了他6k的模板题代码。这些庞杂混乱的知识怎么可能被如此深刻的理解呢?但事实就是bot在讲课的时候从来没有卡顿过,并且对回答我的所有提问显得游刃有余。

除此之外,令人印象深刻的还有yhy的“三维最小乘积生成树”和lzy的海滩线算法,尽管他们的论文都很有难度,但是完成度都非常高。台下的我有点不安:我是不是应该做点更有挑战性的事?

随后,被随机分配到 2010 年题目的我开始啃神秘的远古省选题(这些东西能进正常OI比赛吗???),顺便hack掉了一篇题解的证明。为了做 [HNOI2010] 弹飞绵羊 我又开始学LCT。不知道为什么,在网上找不到让我信服的复杂度证明。在几次三番努力无果之后我决定挑战自己的时候到了:根据能找到的语焉不详的题解自己推导完整的思路和证明,所以当时网上有的最详细的LCT学习博客很可能是我写的,只可惜没什么人看。

显然,2010年的大部分题目都很莫名其妙且难度不高。但是被分配到2014年的lzy和2018年的sword就得到了一些很难的题目。尽管lzy一再放慢讲题的速度,重复分析了多少次思路,我始终无法理解 [WC2014] 时空穿梭的莫比乌斯反演。可以看出来lzy已经为讲题使尽全身解数,没能理解只能是我的问题,很遗憾当时的我情绪爆炸,最后放弃了对这道题的理解。

相比之下。似乎是因为数学成分不重,sword对2018年的题目讲解就要易于接受很多(显然回避了ZJOI2018)不管是“制胡窜”还是“秘密袭击coat”都是非常震撼且很有收获的题目。我注意到sword在很短的期限内做完了大部分2018年的紫黑题,并且写了总结博客:这是怎么做到的呢?

接下来 ycz 开始讲解NOI2009的题目。不得不说每个人第一次见到“管道取珠”的时候肯定都会被小小的震撼一下,然后怀疑自己从来没有学过OI。我又注意到ycz的做题记录甚至划分了月份,而且每道题都做了批注,而且似乎从很久以前就开始维护了。

短暂的寒假过后,冲刺春测的旅程就开始了。几乎每天都有Vjudge atcf混合训练,这些难度都集中在中档题,比较符合我的舒适区。当然这只是相对而言,因为榜单的前列永远被学长们稳定霸占。sword和lzy(又把名字改成了“嘿薨冥打捞”)在这些问题上的速度令人瞠目结舌。sword甚至表演过提前AK而潇洒离场。不过比起这个,更值得在意的是在寒假和 Chery 不知道怎么联系上的来自南京的神秘势力。在我们还没有适应ABC的时候,一个永远有人能做出 ARC 的 E的地方,拿我写了好几天的“紫荆花之恋”(显然去年秋天的情况又出现了)当饭后甜点的地方无疑给了我们很大压力,特别是——听说我们的省选集训会在那里开展的时候。

某场ABC,我通过一小时的组合意义尝试成功做出了F,但是sword表示直接代数推导就好了。发现我们不会各种组合恒等式的sword临时上班担任教练,把各种常用式子教了个遍。由于这段时间中chery长期挂机,不管是领队、教练还是实力担当都能完美胜任的sword成为了高一的我们最信任的人。

家人曾经问起我关于春测的态度,我以为自己既然进不了省队,又想多学学OI,所以最好的做法是“碰瓷”,也就是通过在春测得到一个相对好的成绩得到省选训练的机会。

2月底,我决定去高三教学楼找PG寻求激励。还没进教学楼就看到他的大头照挂在红色的光荣榜上,排在全校第二(才第二?——sword)。经过三次扑空之后我终于见到了他,和SA描述的一样,小小的,很可爱,而且单手带着一只手套,据说是为了显得自己很酷,但是这无疑让他更可爱了。

听完了我的碰瓷计划之后,他微笑着祝我好运,然后回到了他的沉默着的教室里。

春季测试的前一天。我们考了一套难度比较普通的模拟赛。我比较顺利的打到了两百多分,但是bot直接AK了。机房里膜拜波特的声音此起彼伏。

春测在 BS 中学的主校区举行,由于比赛一大早开始,chery干脆带我们直接住进了附近的酒店。在前往酒店的路上,chery突然感叹:“本来我们的设备都准备好了,但是我们没有种子选手,承办不了省选……”。

我当即表示:“sword不是吗?他这么厉害的!”

chery则笑着对我说:“明年你就是了。”

面对突然沉重的话题,我下意识地避开了进一步讨论。

出于和游戏策略无关的原因,lzy在所有的考前游戏里都被针对了一遍,不出所料,这带来了大量的节目效果。

第一题 paint 是一道非常简单的模拟,我很快就通过了它。(和样例里的不可见字符进行了一段时间的斗智斗勇) 第二题 power ……为什么还是一道很简单的题呢?确认了一下基于二分开根的做法并无问题之后我迅速实现并且通过了这道题。 第三题 tree 一开始没有什么思路,但是看到数据范围是 n \le 3000 的我立刻就猜到了做法。甚至都没有再犹豫一秒就码了上去。

110min过了T1到T3,就离谱。

本来以为自己中计了,春测是人均 AK Round,但是第四题 lock 似乎还有点难度,迅速完成了 k=1 和简单贪心 k=2 之后,我的草台班子属性再度发力,我想到了一个看起来还有点对的做法,想着反正已经有三百多分了没有认真思考正确性就开始码。经过一个多小时的调试才确定做法是错的。这时我甚至直接放弃了继续思考,直接留下了错误的代码摆烂离场。

所以我在留下了两个多小时的情况下,甚至都没有好好思考一下 k=3 怎么做。

但是和去年的CSP一样,我的得分 100 + 100 + 100 + 40(->45) 又得到了莫名其妙的高排名,直接冲到了CQ-21。学校里只有 sword 得到了比我高的分数 (355),而且他出场问遍了同级的所有人,都没有人会 T3。

当他知道我通过了T3并且和他做法一样时,非常开心地拍了两下我的肩膀,然后露出了我再也没见过的灿烂的笑容。

总体来说,其实CQYZ的春测发挥惨不忍睹,除了我和sword以外,只有一个人通过了T3,这个人比较意外的是拿下了学校第三的lhx,他挂着标志性的茫然的笑容,表示他不知道是怎么会的。T4也只有sword和bot得到了非平凡部分分。发挥不佳的lsx、MichaelLee都在比赛后选择了退役,lsc也因为春测进入了半退役状态。

但是由于春测没能拉开差距,高二的所有选手、我、bot、yhy、lhx都得到了省选集训的机会——尽管我从来没指望进入省队,但是得到更多的OI时光也是开心的。而且,往好处想,CQYZ的省选集训也从来没有(到现在也没能)达到这样的规模。在我看来,这次“碰瓷计划”可以说是大获成功。

Ep12. 前路会与过往不同(2023.3.8~2023.4.2)

人物表:

milo:高一,OIer。
lhx:高一,OIer。
bot:高一,OIer、机器人。
yhy:高一,OIer。
Ishy:高一,OIer。

sword:高二,OIer。
lzy:高二,OIer。
ycz:高二,OIer。
fs:高二,OIer。

Chery:OI教练。

nodgd:NK中学的OI教练。
0htoai:高一,NK的OIer。
Leasier:高一,NK的OIer。
Makapakka:高二,NK的OIer。

2016年,CQYZ的最后的 NOI Au 和 NOI Ag 结束了他们的OI之旅,在这之后6年,CQYZOI的全部成员都以巨大的差距被省队拒之门外。这样的差距不是某道关键的题目挂分或者某次关键比赛策略失误的遗憾,是没有OIer过人的天赋、勤奋的训练和教练科学的指导,只靠运气不可能填平的巨大鸿沟。

CQYZ的四机房等待着改变命运的机会,虽然困难重重,但是这段距离并非不可逾越,团结的几个人就足以改变一切。因为在提升实力或是依靠运气之前,最重要的是要先怀有希望。一个人怀有希望就能不断挑战自己,而怀有同样的希望的大家一起挑战共同的目标,动力就指数级的增长。所以有希望,便是光明。

而我确信这间机房此前从未有过这样的气息。sword和lzy似乎无所不能,ycz和fs也不遑多让。学长们似乎有一个自己美好的OI世界,而当时的我并不理解到底怎么做才会蜕变成这样。

sword似乎很想让我们也做的和他一样好。无论是场切有标号基环森林计数(题目名字叫“立方招兵支银给米题”)然后教给我们 Burnside 引理计数,还是秒掉 CF1792F2 顺便给我和bot普及全在线卷积,这些在我看来都非常遥远的事情被有些拔苗助长地塞进我们的大脑里,又转化成AC记录。

春测结束几天以后,一架飞机把CQYZ一行九个人送到了南京。在此之前,我对班上的几个同学说,如果学长们都没人进入省队,那我就要绝望了。

在城市的地下和街道中漫长地穿行之后,chery宣布我们到达了目的地。显然,比起“世贸大厦”这个高高在上的名字,这栋大楼显得寒酸得多。它只是一栋典型的市区中需要好长时间才能等来电梯的商业建筑罢了。

刚到达这里的我们情况和在镇海的时候没什么区别,依旧没有人理会。我们对此习以为常,我继续打开Vjudge调一道复杂的线段树。

不过情况很快好起来了,因为紧随着我们到达世贸大厦的是NK中学的学生。人到齐之后,每天的模拟赛就可以开始了。

接下来的一个月时间,我们见证了奇迹的诞生。少了我、bot、yhy整整一年训练时间,而且从来没有表现过自己实力的lhx以极高的效率追上了大家的水平,没有人知道他是怎么做到的,以他的风格他自己也不会知道。我只知道他在机房里从来不会颓废,但在这之外还要付出多少我无法想象。

模拟赛还是很有挑战性的,不过我不像去年夏天在镇海一样束手无策了。第一天我就因为细节原因与通过 T1(是一道集训队户厕,可见haoba训练惊人的强度)失之交臂。我本来感到非常遗憾,可是似乎大家都不会这个题,这又让我觉得自己的进步非常大。

不久之后集训队户厕(2021,细菌)又一次出现在T2的位置,这次我没有什么想法,不过学长们做出来了,他们说是分治NTT。(为什么能这么强?)

同时做出来的还有另一个NK的OIer,他坚持要将他基于根号分治的做法给我们讲一遍。显然他对这个做法抱有很强的执念,并且很希望补题的大家都写这个做法而不是分治NTT。

春测正式发布了成绩。当天下午,我听到后排有人大声对春测成绩进行了不太友好的报菜名。并且有些影响到我做题。我承认当时我只觉得这种行为非常烦。

很快我就知道了,他们分别是 Leasier 和 0htoai。都还在NK上高一。而NK的实力担当是曾经完成过新号5场上 GM 壮举(其中有三场div2 rk1)的高二选手 Makapakka。

A队我们平分,B队各凭本事——nodgd

虽然在haoba的NOI plus模拟赛里,我一直都能得到不少分数,但一直没有过题。这次我终于发现 T1 是一道套了构造皮的 Hall 定理题,用 Dinic 优化二分图匹配就可以了。终于过题的我非常开心。

赛后和大家交流的时候,我发现高一的大家都不太会这道题,并且纷纷表示自己写了随机化。除了——

“我不会网络流,所以写了匈牙利算法”,lhx一脸茫然地告诉我。

这听起来挺可惜的,不过好像有点不对,我们讲Hall定理的那天你真的在吗?

“不在啊,不过这个是不是感觉一下就挺对的?”

一直到我的OI生涯回忆结束,我都没有想通 “\forall S \subset L, |\bigcup_{u \in S, v \in R, (u, v) \in E} v| \ge |S| \leftrightarrow 二分图存在完美匹配” 到底为什么是一个能“感觉一下就挺对”的定理。更想不通一道Hall定理题都没见过的lhx是怎么知道要在一个看上去八竿子打不着的构造题上考虑二分图匹配的。

某天,难得有一场东八区时间下午的cf div1/2,整个号家军都参与其中,当时的rating只能打div2的我缠着一路过到div1E打进前一百的sword问他是怎么做到的。他云淡风轻地表示,1E就只需要把所有树剖的连续段拿出来装进deque里挨个二分哈希就好了。

如果你打过那场CF,那你应该知道这个做法有多难写。后来经过大半天的奋斗我才补上这道题。

困难的模拟赛继续进行,讲题的选手里不少我曾经听说过名字,但是在他们面前显得渺小的我只敢和 Leasier 和 0htoai 聊天。大部分时间则和bot在一起,yhy和lhx也不离左右,世贸大厦附近餐厅不太密集,所以除了把它们全部探索了一遍之外,我还尝试了特辣的黄焖鸡外卖。(“南京的特辣能有多辣?”然后被辣的吐舌头。)。总的来说,这段时光因为有大家的陪伴是愉快的,只是不知道为什么sword消失了一段时间。

谜底很快揭晓——sword的家长联系上了nfls,这段时间他正在那里训练,并且那里的训练还有一个名额——出人意料的是,chery最后把这个名额给了我!其他人则登上了返程的飞机,在远端打我们同样的模拟赛。

虽然从来没打算进省队的我并不知道这么做的理由,但是能和sword在一起训练和得到了chery的认可共同组成了我愉快心情的理由。

那天下午chery送我到北京东路,和我一起去领取便于我出入的nfls的风衣。胸口印着陌生校徽的我和chery一起走在回酒店的路上,我正望着远方出神。

“想什么呢?”chery突然打断了我的思绪。

我告诉他,我在想前几天的一道cf题。

Chery神秘地一笑,对我说,“你这个状态就对了。”

我没有理解这句话的意思,但是chery似乎也不想告诉我。

不幸的是,nfls的模拟赛甚至比haoba的还要困难。我又一次陷入了一筹莫展的状态,nfls的教练发现我看着屏幕发呆,建议我换到难度较低的div2,但是我又不想认输,后果是发呆和走神变得日益严重。其实我也并非完全没有机会,有好几次艰苦思考的我距过题就只差一点距离了,但是排名连续爆炸的挫败感无疑是巨大的。

sword经常发现我在发呆,然后给我一些建议,比如不要死磕太难的题。只是状态掉线这件事会恶性循环,一发不可收拾,特别是当我对即将到来的省选没有任何期待时。

有一天,我发现sword和屏幕那头的lzy场切了一道线段树维护询问(在互相包含的区间答案有单调性时,用set维护不交的询问,挂在线段树上,离线枚举答案,每次检查哪些询问符合条件),非常惊讶的我问他们为什么能会这么难想的题。

sword笑了,说:“这不就是去年在镇海做的“时代的眼泪(与NOI2020d1t3同名不同题)”吗?”。

为什么只做过一遍的题目印象会这么深刻呢?

我问他,进队之后有什么安排。

sword依然笑着回答:“我进不了,已经想好退役之后干什么了。lzy能进。你看lzy做这道题就做的比我快,其实lzy比我强很多的。”

我摇摇头;“你肯定能进啊,你这么厉害的。”

在模拟赛之余,我们还在一起讨论JOISC的题,我不时给他提供一些歪点子,虽然大部分没有用上。我发现,他思考题的逻辑性和全面性,比起只靠一点直觉的我强了不知多少。他到底到底还知道多少事情没告诉我,或者很想告诉我但是还没有办法传达到我这里呢?

nfls的赛前集训很快结束了。我和sword最后一次离开那个大家都自带电脑的所谓机房。我把双手搭在他的肩膀上摇晃着他,向那里的其他人道别。“这是今年的CQ队长!”。

在离开nfls之前,我在学校里发现了一张空白的NOI获奖证书,缠着sword为我拍了一张照。在我干这些事情的时候,他只是笑着看着我瞎闹。

回到重庆的第二天,我们就出发去巴蜀附近的酒店里住下。大家的笑容依然灿烂,sword甚至提出要和我们玩海龟汤,(汤底的内容一言难尽)。

2023 年 4 月 1 日早上 8:30 ,联合省选2023 day1准时开赛。

d1t1 station 是一道很简单的题,我没有耽误太多时间就通过了。 d1t2 cities 则显得非常困难,题目的各种暗示指向割点,但无论我怎么思考和割点有关的性质都没能在任何一个部分分上取得突破。两个小时过去,我只能写完最基本的25分暴力,打开T3。 d1t3 transfer 则指向费用流模型,才加训网络流不久的我写了一个大暴力,但是不知道为什么我怎么怎么努力地调试程序都一直无法输出正确的结果。为什么考试这么快就结束了呢……

啊,状态真的好差……

人生中第一次省选,结束了!——gyh20 CQOI2020游记

抱着来玩玩的心态,我没有受到什么情绪上的影响,很快就去找大家打splendor和狼人杀了,甚至还赢下了splendor。听bot说,T3可以用可并堆打到48分,然后就有 173 了。听到我们讨论的lzy接了话,“173是很大优势吧!”

高一的我们的确都这么觉得。

d2t1 zu 事后是这场省选被诟病最多的部分,但是唯独我没有这个资格参与讨论,因为觉得省选失去了意义的我决定争取做出d2t1,在这上面花费了四个半小时,三次写上像tarjan一样的假做法然后把代码整块整块地注释掉,像是在割自己的肉一样……到最后我的思路都和正解南辕北辙。 雪上加霜的是,我的爆搜还写挂了,尽管它通过了能通过的几个小样例。 d1t2 game 和 d1t3 color 我都没有打开。

状态真的真的好差,省选真的真的好难……bot在说自己估分272,是不是真的很高……看来我应该是从今以后都追不上bot的脚步了……

然后我就看到sword依然带着笑告诉我,他退役了。

那天中午的聚餐最后变成了CQYZ2024届OI的散伙饭,这对我造成的打击十倍于我整次省选总分125全网垫底。我怎么也无法接受这个事实。为什么……day1有AKer……day2makapakka打了210(最后拜zu所赐,挂成了110)……这些到底是怎么回事……我不能理解……明明是那么无所不能……

有些精神恍惚的我问,我是不是应该退役了。

sword马上阻止了我,他给过我不计其数的教导,但这应该是最后一次了,“你退役了就是浪费时间,你学whk轻轻松松,不需要那么久的”。

我又想起了他在 ZROI 一路上分傲视群雄的时候和他轻描淡写地说出Div1E的做法的时候。这些事情毋庸置疑、历历在目,今后却将会和他不再有关,只会在我们心中某个角落,知道他的OI生涯曾经那么耀眼……还有一直和他互相膜拜的lzy也是一样……还有ycz和fs,也不应该忘记他们……

从22年开通洛谷博客之后,我从不放过任何一个写比赛游记的机会,但那天下午的我实在无心于此,而是选择把《我的一个OIer朋友》的歌词抄进博客里作为主体内容。歌词里“lazy标记有没有清空”被我修改成了“\textcolor{black}{l}\textcolor{red}{azytag} 有没有清空,就这样表达对“嘿薨冥打捞”lzy学长的纪念吧……”

我还记得出发去南京之前,我对同学说的那句“如果学长们都没人进入省队,那我就要绝望了。”,但是光标停留在歌词的结尾: “省选亚太精英旧路上过/春风拂袖暖阳正当空/定有某日 OI赛中/荧幕之前/台阶之上/看奖牌芳容/六月至七月 远方等候/你为我光荣”,我突然意识到自己对待省选的态度和这句话都是极不负责任的:无论水平如何,任何大赛都应该是竭尽全力的地方,而如果真的已经竭尽全力,那差距再大也不应该绝望,也已经没有时间留给我绝望了。

如果不是我们每个人都怀有希望,那CQYZ四机房也不会是一个一直充满生机和理想的地方。时光流转至今,无论我还会在这里停留多久,接下来应该由我来带给大家希望了。想到这里,我偷偷地给自己加上了一个“CQYZOI队长”的头衔,希望将来的某一天自己能对得起它。

从这天以后,无论是学长们,还是我们的前路都与过往不同了。

Ep13. 寂静的守候(2023.4.2~2023.6.16)

人物表:

milo:高一,OIer。
lhx:高一,OIer。
lsc:高一,OIer。
bot:高一,OIer、机器人。
yhy:高一,OIer。
Ishy:高一,OIer。

Chery:OI教练。

阳光斑驳的下午之后,我回到了文化课的教室。day2的爆零招致了班主任的些许不满,不过他也没有太为难我。

教室里的世界线不同于机房,被各种比赛切成一段一段的,寂静的时光流转是这里的主旋律,现在,春天正在无声而盛大地绽放着。

虽然刚刚给自己安上了新头衔,不过其实我还是否是CQYZOI的成员都还是一个问题。因为家人似乎开始反对我继续OI学习,我自然不情愿退出,不过原因我也说不清楚,大概是觉得机房门的背后有重要的使命没有完成,也还有新的故事没有写完吧。毕竟,bot告诉我ycz在省选中得到了rk19,虽然依然不高,但是差距已经比7年以来的任何一次都小了。

我抬起头对bot说,接下来要靠我们了。bot默默地看着我,没有说话。

两周时间过去,这段时间中我在准备着我的秘密计划。

2023年4月16日中午放学后,我生拉硬拽把bot拉出了教室,然后告诉他,我在学校的小树林里给他准备了一个生日蛋糕。

我、bot、lsc、yhy、Ishy 在那里度过了一个安静的生日。我当然不能猜到bot许下了什么生日愿望,不过吃蛋糕的时候,lsc转向了我,“milo AK IOI!”

“对,milo AK IOI……”

“谢谢,谢谢你们……你们也要 AK IOI……”

我们共同分享了bot的生日蛋糕。那是我参加过的最好的一个生日宴会。

四月底,我成了班上最后一个因为新冠疫情病倒的人,还因此错过了运动会。不过比起这个,更让我觉得不幸的是五一节就要到来,而我将会错过省选结束后第一个OI训练的机会。 5月2日,我病情稍有好转,我就提出想回机房,实在不行在家训练也行。但是我得到了意料之外的回复:家人准备以此为契机联系教练,让我退出CQYZOI。

我非常讶异:这怎么可以?!在我的软磨硬泡之下,我得到了暂时可以机房的条件,不过他们将会对此持保留意见。

没关系,没关系,我会证明自己一定对得起它的。我打开d2t1过河卒的题解,惊讶于问题居然有这么简单的本质。经过一段时间的调试,省选day2的梦魇被我克服了。

我隐约感觉自己明白学长们是怎么走过水平突飞猛进的2022年春天的了。

d1t3, d1t2, 然后是 d2t2……这些题确实都有很高的难度……但似乎也不是完全做不了……如果能知道圆方树的性质,或者更熟悉模拟费用流的原理,说不定就能做出一些改变……

chery又一次走进机房,我有点不知道怎么面对他,只得报以尴尬的笑容,还好他没有评价我的省选成绩,而是宣布bot以CQ-30的省选成绩通过了pkusc的初审,将会得到一次短暂的旅程。

也差不多是这个时候,经过反复的拉扯,我和家人互相做出了让步。我以未来在一件人生议题上听家人意见为条件,换到了能够继续随着大家训练的许诺。只不过,要想继续参加后续的省选训练,我的NOIp必须在CQ-15以内。并且,由于我定下约定的时候的疏忽,这个名次将会包含高三选手。

这个名次是不是真的好高……但是去年的sword都能做到,我更没有理由认输。毕竟,是我在省选结束那天下午许愿要代他们看到更远的地方的……

家人想听我还想学OI的理由。我的回答脱口而出:“是因为一首歌。”

我本来想接着唱《我的一个OIer朋友》,但是突然意识到这首歌蕴含的感情和许下的希望太过强烈,这样轻易地出口恐怕难以被接受,最后换成了《膜你抄》。

这样的感情和希望先保密吧,会有尽情地表达出来的机会的……

学期还没结束,在机房的时光毕竟是少数。更长的时光在那间宽敞并由于其他竞赛同学的陆续停课变得更加寂静的教室中度过。数学课的进度开始推进组合恒等式,当然,这些知识由于我们都心照不宣的原因早已刻骨铭心。

“教会我们这些的人,已经不在了……”我轻轻地感叹。

随着bot的离开,教室里的一切似乎都按下了暂停键。我们想象着bot在遥远的北大会见到怎样的风景,题目难度会如何。膜拜着他发的新动态。

比较遗憾的是,因为背错了LCT的一个细节,这场本来应该成为他的高光时刻的比赛没能给bot留下完美的记忆。三天以后bot回到教室,告诉我们关于PKUSC的种种。我催促他写下游记记录这一切,不过他表示游记无限制延期,也就是咕咕咕了。

不过我们很幸运,由于语文老师不久之后布置了写周记的作业,我们还是得以读到这段经历。并且,我惊讶地发现,尽管一再强调自己不会写东西,bot的PKUSC游记比我写下过的所有故事都要感人。或许是在付出的足够多之后,哪怕只是平淡地讲出自己所做的事情,也能让人感受到深沉的力量。

bot好闪,以及,看来bot人文的一面其实养护得非常好,他只是不常展示而已。

或许是在这些事情过后得到了足够的净化,我在老师布置的2023年高考作文(“安静一下不被打扰”)作业里成功成为了范文,这也是整个高中唯一一次。后来,我再也无法复现当时写作时的心境,那种自然的对于未来的期待是无法伪装的。

也只有这样独处的时光,我才能沉淀我的浮华,放松我的身心,放飞我的成长。

期末考试的时候,我(作为直升班学生,和上一个年级一起排名)得到了年级40名,这个成绩比起5月月考不升反降,可是我明明认真学习了一个月的,这样都能退步让家人怎么能相信停课冲刺结束后我的成绩还会好呢?我因此心情低落了一晚上,一直到第二天我想起这是上一届直升班在高考结束后第一次参与他们同年级的排名。

我最后以还剩下六十多人的直升班中第三的成绩第一次登上了学校的光荣榜。

好吧,看来至少至今为止,事情都在向好的方向发展对不对?没有什么事情比漫长的守候终于结束,可以重新开始未知的旅程更美好了。

我一定一定不会让自己和大家失望的。

Ep14. Again(2023.6.17~2023.8.20)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

Deepskycore:高一,OIer。
qingbai:高一,OIer。
PG:高三,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。

夏天到来,第一个消息是 Deepskycore 离开了我们,因为一些OI和中考政策的原因,他选择BS中学继续他的OI之旅。我们默默地在心里给他祝福。

接下来的是 PG 如愿以 CQ-11考上了 THU。不知道是不是我考前偷偷在为他建立的许愿池里的祈祷起到了作用。

四机房里又只剩下 我,bot,yhy、Ishy、lhx、qingbai 六个人。文化课的学习暂停了,而且如我所愿到我们退役之前都不会再恢复。和去年今日一样,我们踏上了OI生涯的又一个轮回,也是最后一个轮回。同龄的优秀选手都已经披金戴银的时候,我们的获奖记录中还是只有若干个平平无奇的一等奖和二等奖。

我不时以 CQBZG2023 的故事鼓励自己,并且在主页置顶最大字号写上了可能有版权问题的 CQYZ2025 together we will make it!

夏天的训练依然在Vjudge上,只不过这次的难度比春天的时候要高出一些。不知道为什么,尽管在思路上通常很顺畅,但我常常写挂这些题并且调不出来(在题单上表现为两位数的提交次数,不知道为什么我写挂的代码常常都能通过样例),糟糕的状况让我有些焦急。

于是,我一再对chery说自己代码能力欠缺,Vjudge题单里开始刷新非常魔怔的题目。尽管每次我都通过非常痛苦的调试通过了这些题目,(点名[THUPC2019] 鸭棋,[NOIP2021] 棋局,[春季测试2023]密码锁,由于这些题目的存在,我常常是机房里最后一个做完题单的,很多时候甚至做不完)。由于这个过程往往经过了旷日持久的鏖战,我无法确定自己是不是真的得到了提升。还是只是在堆砌时间进行低效凭运气的干瞪眼。

在一个月的训练之后,短暂的假期到来。NOI2023在这期间举行。尽管机房里的成员和这一盛会无缘,但是我们依然还是通过VP。感受了远方的气息。

d1T1 color 是一道很常规的数据结构题,我很顺利地用一个多小时通过了这道题。

对 d1T2 tree 的思考则陷入了歧途。对 n = 1, k = 0 的部分分我写出了一个很复杂的dp程序并把它优化到了 O(m^2)。尽管答案好像有点规律,但是我丝毫没有意识到事情的严重性,时间也不多了,我丢下了 40 分的程序跑路。

d1T3 dfs 则需要对DFS树的性质有良好的把握,但不幸的是我连DFS树没有横叉边都不记得,在写暴力的时候越写越乱。最后下饭地爆零了。

怎么这么菜,怎么这么菜。看题解,什么叫 T2 的答案和树无关啊?

d2T1 trade 是一道线段树上大力讨论求最短路的题目。虽然看上去简单,但由于复杂的细节,我在通过它的时候已经过去将近两个小时了。

d2T2 string 则看上去是一道相当传统的字符串题目,我一眼就会了72分,然后做出了错误的决定:把这道题丢到了一边,去写 T3 的暴力。

d2T3 book 透露着一股神题的气息,我没敢贪恋更高的分数,打了25就匆匆离开。

再回到T2的时候,我准备开始写枚举回文串长的暴力,但是我突然意识到回文直接用manacher或者二分哈希判掉,然后在原有做法的基础上多套一个二维数点就可以了。啊???这是NOI的D2T2??

还剩一个多小时,可惜上次写后缀数组已经不知是什么时候,后面的部分也犯了不少错误,我最后又喜提标准结局没调完程序堂堂爆零。

最后这次VP我又得到了幽默得分 100 + 40 + 0 + 100 + 0 + 25 = Cu。

bot非常遗憾地也没有调出来 D2T2,如果调出来就能超过金牌分数线了。我一直觉得他非常值得这个 Au。所以Au其实也没有那么遥远吧?

另外这个时期还有HDU的多校。我们组队(通过随机的算法生成)参与了其中的几场比赛。我不太能记清楚这些比赛的结果,不过至少我所在的队伍每一场都打赢了 rk50 保卫战。某一次比赛里有一道字符串。在同复杂度的情况下卡掉了Hash只让常数更小的exkmp通过。当时,我所在的队里没有人会exkmp做法,因此提问质疑了这道题的时限合理性,回复自然是 no comment ,还受到了已经通过的YC队的隔空嘲讽。我对此很不服气,在这之后每次打多校就专门和YC较劲。

不知道为什么,Chery给机房带来了一副象棋,他的说法是这是效仿镇海中学的做法。不难猜到bot在这个项目中通过预训练的神经网络取得了压倒性的优势。lhx的水平还算不错,我们其他人则完全不是他的对手。常常被bot杀得兵败如山倒。可以看出来bot有很庞大的预训练数据集,lhx下棋的风格则比较诡异,似乎是每一步都在盘算能使什么阴招,经常看到他意图把手伸向某个棋子又放下。

lhx撤回了一个阴谋

他还自费给机房添置了一箱乳酸菌饮料(当然几天之内就被一扫而空)。Chery真的是一个伟大的教练。

这之后,永远也做不完的Vjudge还在继续。看着通过的题目上两位数的罚时和不知道怎么被大家过穿的神仙题,我总有种无力感和挫败感。方才高一的qingbai就在这段时间里秒掉了场上只有6位选手通过的 IOI2022 千岛,可以看出来,他的天赋是真的很高。

另外,Chery还联系上了20年前毕业于 CQYZ,现在在 XDF 工作的学长。我才知道 XDF 原来是有编程分部的。通过 XDF 我们得到了一些质量一言难尽的模拟赛。不过其实到处的模拟赛质量可能都一样吧。对题目质量的苦恼无疑推动了 Chery 的下一个计划。

暑假临近尾声,Chery宣布和全CQ的教练们BS中学被排除在外都联系好了,将会举办一次为时五天的联合模拟赛。由五所学校的学生轮流供题。没什么出题经验的我很期待这个机会。不仅可以尝试做题和模拟赛之外的新学习形式,而且这次终于可以知道 CQ-15 是怎样的难度了。

只不过在这之前,还发生了一件让我始料未及的事情。2023年8月20日是一个星期天。这天上午,去客厅端了一杯水准备回到房间的我突然被家人叫住。

将会响彻一生的命运的琴音从此奏响。

Ep15. 阴云密布(2023.8.20~2023.10.15)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。
hzj:初三,OIer。

Ranya:高二,OIer。
0htoai:高二,OIer。

突如其来的说教由莫名其妙的“我和你母亲一晚上都没睡好”开场,接下来就是计算如果我停课到 NOIp,省选,NOI,我分别会剩下多少时间留给高考。结论是,我必须立刻退出CQYZOI。反对无效,抗议无效,答应的好好的CQ-15也无效。

我质疑自己为什么没有选择的权利,被回复“在这件事情上就是没有”。

我继续砍价,一直砍到我在NOIp之后无条件退役。家人又算了一阵,终于答应了,现在想来,他们的态度仿佛这是一种施舍。但当时的我实在是太柔软,直到这时还在一直在试着理解他们,尽管觉得自己从来没有受过这样的侮辱。如果好好思考就应该想明白,在初三直升的一年之后,我已经比别人多出了一年时间,而高中学制设置为三年不是没有道理的。退役,就为了把比别人“抢跑”的一点点时间利用起来吗……

“就一个文化课而已,有什么学不好的!!”。

“有这个热血固然很好……”

从小就反感任何形式的暴力的我最终还是放弃了和家人撕破脸的想法,只丢下了这样一句话就回到了房间。我为自己的妥协深感迷茫和痛苦,这到底是为家人着想还是软弱的表现呢?明明说了要给大家带来希望,明明说了要认真的做CQYZOI的队长的,我是不是更应该为自己和大家考虑……

就在一年之前,我还在蛟川中学的宿舍里对Ishy说人不能背弃最初的选择,我从没想过有一天我会食言。

我依然记得在五月初回到机房的时候,我很认真地对家人说过OI已经成为我唯一的骄傲了。我没有提及我的一个OIer朋友和其他重要的事情,但我觉得这句话的分量已经足够了。

我不认为他们已经忘记了这句话,那只能是这笔荒唐的时间账在他们看来分量更重。尽管我坚信我不需要这个时间,而且就算我真的需要又怎么样,或许是往后余生唯一一个让自己充盈的机会和那点抽奖的概率提升相比哪个更重要不是很明显吗……但是我的感性被逻辑推理和概率计算绑架,我无法证明自己的直觉……

我只能为我珍爱的时光做一些微不足道的事情。我打开了我的日记本。我是不是只能做到“不留遗憾”了……但是不是这本身就是最大的遗憾……

2023年8月20日,晴……

不过回到机房,前一天发生的事情我只字未提。哪怕是为了增加一分大家的希望都应该这样做,更何况,关于我曾经的文化课成绩有多么耀眼的传说已经人尽皆知,如果这样的我都仅仅因为文化课就宣布退出,其他人会怎么想?

尽管许多次想要倾诉,但是我最后还是压下了自己的冲动,开始准备给五校联考出题。

我们决定一起贡献前三道题,然后搬运一道较难的题作为防AK的 T4。经过投票,我的idea被选为 T2。题目名有意被我设置成 "afo/退役的你",题面也以那场省选为背景,yhy帮我很干脆地造好了数据并顺手用bitset加强了一遍,那很有版本前瞻性了。qingbai 出了一道最短路相关的题作为T1,并宣称要用高难度的T1坑重庆的其他选手。dyx把一个巧妙的trick搬到了树上作为T3,bot负责寻找T4。

可以想象,这样组的题目会产生四个风格迥然不同的题面,背景分别是 探险家小烟的故事、lzy学长、宝可梦和机房策略游戏。在这组魔怔的题目打包完毕后我们就可以静候其他学校的压缩包了。

五校联考 Round1 来自CQBZ,我在最后一刻发现T4是莫队+哈希板子题从而打了284,但是由于本地的文件操作前有 #ifdef milo 我后三题全爆零了。真是的,全部挂完是不是还好一点,至少不用在榜上丢人了……

但是好像 284 在榜上能进入前五。这是怎么回事来着。

评测在CQYZ的新机器上进行,为了得到全市排名的榜单,0htoai联系上了我并把我顺手推给了 XF 的女队Ranya。不难发现,在每一个可能认识外校选手的机会我都和机房里的其他人形影不离,所以当时他和Ranya居然因此变成了我唯二有联系的两个外校OIer。

Round2 是 CQNK 准备的,看到非常巨大的subtask我就意识到事情不妙,不过写了两题正解和两题大暴力的我没有发现可以挂分的地方,最后就没怎么管这个问题。但结果是T2大家都挂了很多分,只不过我的写法不同就没有挂……然后我又是前五? 我开始有了一种奇怪的预感。

第三场round则是 CQYC 组 的,据称全权外包给了wg。T1秒掉了,T2在树上递推好难做……写写写……写了两个小时终于写掉了……赶紧写点部分分下播。哎后面两题好多部分分都没有打……yhy怎么说自己会T4 60……那是不是完蛋了?

发榜,怎么T2就过了两个?尽管暴力分差了不少,但是T2的巨大优势又一次把我送进了前五。

Round4 是我们出的!经过四个半小时的等待和一个多小时的测评终于有结果了,看榜看榜看榜……这个T1怎么挂了这么多?qingbai回去研究了一段时间,宣布题面锅了,那确实狠狠地坑了一把其它选手,但是是不是方法不太对。我们本来打算T4防AK的,结果被NK的gjy过了,而且他打了 376 断档第一,只有 T1 因为题面的原因挂了,这也太有实力了……

T2被过了几个卡常非正解,唉……

Round5 是神秘之师CQXF出的,前三题好简单,最后一题是大分块但是好多部分分,写满了 370 下播……这次居然是第二?不过也不奇怪,要比我得到更高的分只能靠写大分块了吧。

不管怎么说这几次测试给了我很大的惊喜。但是想到这样的惊喜没有任何实际意义我又有些失落……明明一切就要结束了,还做得这么好……

新学期伊始,初三的学弟们和两年前的我们一样也加入了强基班,进而加入了我们的NOIp训练,而且这次多出了两个新面孔:总是有奇怪脑回路的 hzj 和 机房里许久不见的女选手,比较沉默的Aphrora。他们一开始在另一位教练的指导下上课,升入强基班后合并进了机房。时隔许久,机房里又开始热闹起来了。

把三个年级合并到一起训练NOIp的确是一件奇怪的事情,但是由于无论是高二还是高一初三的大家都很有朝气,除去模拟赛成绩,其实很难分辨哪些人属于哪个年级。某些时候,更早接触OI社群也更早开始高标准训练的初三选手们的作风反而更像身经百战的集训队预备军。比如他们常常和其他网友交流,讨论怎么出题,或者到处找公开赛打。我们则一个劲的补着模拟赛的题目和题单。

不难猜到的是模拟赛的季节马上又要到来了。但是chery决定在这上面玩一些花样。在机房的局域网上,chery搭起了一台服务器并在上面运行了一个UOJ,继承了CQYZ 原来的OJ的名字 FTOJ。随后分配给我们每个人若干质量参差不齐的题目(而且通常没有数据),让我们把这些题目组成模拟赛。而且,模拟赛是有rating的。

可想而知,在OJ诞生的第一天博客功能就被玩坏了(出现了 “FTOJ 倒闭了” 等大量整活帖子),第二天每个初三学弟就拥有了数十个小号用来保证大号不下分。小号的生产方式基本都是高仿其他人的名字。如

这些都不是本人的账号,请大家注意辨别。

效率最高的bot第一个造完题并且抢到了 FTOJ Round1 的主办权,由于他一个手滑造数据多按了一个0导致我痛失了10分部分分,而就是这10分让我不敌lhx屈居第二。

我一再让他赔我rk1,他则表示成绩已经发布,没有办法。

FTOJ Round2 的主办权属于lhx,我在赛时通过了前三题的全部样例并最终狂砍100分:后三题全爆零了。如果这件事发生在其他人的题身上我可能会拷打他,但鉴于lhx在机房里的人设已经变成阴谋家了倒也正常。只是如果大家以后看到lhx出现在出题人列表里,那样例最弱的题肯定就是他出的,一定要小心。

我偶然发现这场的T3被学长们去年在ZROI爆切过。本来以为已经超过他们了的……离这个目标还会有多远呢?在退役之前能做到吗?

我的题目也造好了,我决定把四道题命名为“密码锁”“通道”“棋局”“紫荆花之恋” 来纪念在这些名字的正主上逝去的四天时光(似乎没这么少)。

组模拟赛的过程乐趣不少,比如阅读不同题目的题解并且锐评这些题的难度。但是考虑部分分和造数据就并非如此了。而且,不管怎么说,组出的题目一个小时没人通过想必是会被机房里的其他人谴责的。

经过我的精密准备和不懈努力,这样的情况终于发生了。我检查了一下,发现T1满足 n = 70, V = 150,正解是完全跑不满的 n^3V^2 区间DP(理论值是 7e9,但是区间DP自带极小常数),没有人敢写。

可是这是原题数据范围诶,我向chery吐槽。

赛后,大家基本都只通过了 \le 1题并向我疯狂输出。但是为什么lhx过了3道,脑电波大神恐怖如斯吗?

日记本里美好的回忆篇篇翻过,模拟赛的rating忽上忽下。

Chery不知道为什么给机房带来了一组羽毛球拍,宣布机房每天晚上将会有25分钟的运动时间,从此羽毛球就成为了机房里的必备项目。我以前从来不知道bot原来非常精通羽毛球,只是和身为前国家二级运动员的chery显然不是一个级别。我由于不会扣杀(当然更不会接扣杀)屡屡被bot和lhx吊打,当然这不是我一个人的问题,仗着我们的运动时间操场空无一人,霸占整个羽毛球场的我们常把场地分为胜者组和败者组。这样大家的游戏体验比较平衡。

唯一破坏游戏体验的是lhx,他经常站在场地后面看球,然后冷不丁来一句“这颗球我来接!”

互测仍在继续,中间插入了一次haoba模拟赛,T1是一道不太简单的贪心,很容易贪假,我就因此倒闭了。好事的大家同样把这场当做互测搬上了OJ并计算了rating,从而让我掉了很多分。

我才发觉自己尽管已经学习四年多OI,生涯已经开始倒计时了,从没认真做过贪心题。啊……要学的东西真的好多,“不留遗憾”的愿望真的好难……

XDF不时发来联合模拟赛邀请,质量和大样例强度依然一言难尽。甚至有的题还卡常。在某次赛后,由于我的T1挂成了10分,T2的大搜索挂成了30,T3的容斥+矩阵乘法被卡常挂成了 90,导致本来应该AK的我直接挂到了 230 分。在去吃晚饭的路上,我向 bot 辱骂出题人,这个时候lhx靠了上来。

“唉,我的T3也被卡常了,挂成了70……”

被卡了30分还是挺惨的,但是T3好像只有最后一个点卡常……你的复杂度真的对吗?

“对的啊,不是 O((2^4)^2 n^3 \log T)” 吗?”

肯定不对啊,这道题怎么写才能写出 O((2^4)^2) 啊?那个平方是哪里来的?

经过一通鸡同鸭讲的对话,我们才搞清楚lhx根本没有写容斥,而是在矩阵乘法里封装了集合幂级数的 or 卷积和加法。唉,已经习惯了……

CSP-S之前最后一次ARC,刚刚涨上2000,在黄色的区间探出一个尖角的rating折线又掉回了蓝色区间。我对bot感叹“我怎么要以蓝名形态出战CSP了啊?” 如果想证明自己的实力,这个rating是远远不够的。我常常关注的 Leasier 就有高得多的rating,而省里比他水平高的OIer比比皆是。但是没有办法。我的rating从7月适应ABC才开始暴涨,在很短暂的时间里就上升了 400 rating,想要再在短时间内适应ARC并非易事。

离我 Last Dance 的时间只剩下一个月了。

CQOI2023的结果宣告了上个赛季的彻底失败,那在这之后我做的怎么样呢,有比之前做的更好吗?

请告诉我吧!

Ep16. 即使看不到未来(2023.10.15~2023.10.31)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。
hzj:初三,OIer。

0htoai:高二,OIer。

tjy:CQYZ直升班总负责人。

CSP2023开赛在即,tjy走进了机房,把我们轮流叫出机房谈话。

轮到我的时候,tjy拿生物竞赛的Au和两位新晋集训队文化课都没有我好举例,似乎是想告诉我,学习能力没有我好的同学也能拿下省队,我没有理由拿不下。

我也很想受此激励啊……想到这里我又有点难过,

你觉得你的水平能到CQ多少?

tjy突然发问,我回过神来,说,大概CQ-15吧。

他问我,我为什么就不能是 CQ 前五,为什么就不能是 CQ 第一?

我意识到自己当时定下CQ-15的目标之后就一直只盯着这个目标,明明展现过很多次能做的更好的潜力的……只是,似乎这样的思考已经失去了意义。

不过,我还是相信不断尝试突破自己的极限,一定会让我感觉更开心。只要能受到这一点启发,那tjy也就没白白对我讲这么久了。

互测继续进行。题面 和大样例 中也融入了大家各自的风格。虽然值得好评的 round 不少,但是也难免出现例外,比如把签到题放在 T4,把两道不可做题放在 T1T3 的 hzj round(hzj 指着被放在 T3 的一道AGC的黑题说:这题代码很短啊!)。在感慨lhx后继有人之后,我在所有的类 NOIp 模拟赛都会先看一遍所有的题再开始做T1。

Chery履行了半年前的承诺,宣布明年的省选将会在我校举办,而作为预热,CSP-S2023也会在CQYZ设置考点。chery为闲置的五机房装备了被我们吐槽最多的波浪形桌子和新电脑。不知道是不是为了炫耀新机器,其它学校甚至还收到了来学校打试机赛的邀请。可想而知的是基本没有学校派出主力选手舟车劳顿只为了看看新机器,来的基本都是初中生,只有一条马路之隔的NK派来了他们的高二选手。

不过这里有一个当年的秘密:我们高二的几个人其实打过那套试机赛,这并非chery有意为之,而是一次乌龙。发现情况不对的我迅速向chery指出了问题。不过显然为时已晚。

但是其他高二的人都没AK,怎么会是呢?

试机赛结束之后我再一次见到了受我邀请正在楼下等待的 0htoai。受到心态影响,半年前在南京势头正盛的他如今停滞不前。只可惜那个时候的我无法理解emo的情绪会对生活造成多大的影响,虽然说出了无数鼓励的话但是无法做到真正共情吧。在分别之前,我们还交换了CF账号(他早早的打上了Master),后来他因此成为了我的CF赛后专用吐槽对象。

我表达了自己完全不会贪心的担忧。他非常大方的给了我精心整理的贪心题单。我显然没有时间全部看完了。不过对于完全不会贪心的我来说,只看几道题就能让自己感觉有不少提升。

在与0htoai贪心题单斗智斗勇的几天过后,2023年10月21日下午,CSP-S2023在 CQYZ 的机房里举行。

我提前了一点来不做考场的四机房休息,初三学弟们正在里面喧哗。作为传统,我又写了一遍 julian.cpp,这次写了 25 分钟。至少,比去年快了。

因为开始时间是下午的缘故有些困倦,先小睡一会再开始看题吧。

这次是我第一次用 linux 系统打比赛,因为第一次操作时没有在windows下解压文件的缘故 被迫进行了 windows -> linux -> windows -> linux 三次重启切换系统。 CSP.timeleft--;

根据我的习惯,先把四个题都看一遍。

T1 lock 不知道为什么出现在这里。 T2 game 感觉应该不会很难,似乎和19年的括号树很像,推了两下发现真和括号树很像。还没用到20分钟,已经会两题了,这个是好的。 T3 struct 依然不知道为什么会出现在这里。感觉这场的出题人是不是没有理解什么是 CSP-S? T4 tree 终于像是一道正常题了,而且——像是我加训了好几天的贪心题。

反正前面的题都会了,直接开始做吧。

首先一眼二分答案,然后链上有经典结论每个点能往后放就往后放。最后是把每个点放的位置往前“挤压”,某些点被挤到太靠前的位置就会因为没有预留出足够的时间种前面的树而不合法。嗯,看上去挺对的,并且很能上数据结构维护。

胡了一下似乎可以线段树合并,那我这是AK了?有这么简单吗?

那当然没这么简单。迅速写完前三题之后看来一下还有些时间,直接开始冲T4!冲完发现大样例RE了,但是加上 define int long long 就不会RE,但是我明明没有少开 long long 的地方啊?

搞不懂,在茫然中下考。问问其他人什么情况。lhx也意料之中报了AK,bot和dyx似乎被T2搞了心态打的不太好,yhy暴躁地说自己要二等奖了,问了一下是大模拟爆零了。但是平时机房里最不会写大模拟的好像是我诶,今天写的反而算意外的顺利。

那再问问T4怎么做吧。排序之后一路选到根?啊??

那我确实还是不会做哪怕最简单的贪心。本来以为自己攻克了一个重大的难关的……

研究了一下 T4 的RE是因为开无限栈空间的命令记错了,第一次拿linux打比赛导致的。这下T4得到了 [30,100] 的随机得分,具体多少要看CCF脸色,不过 CSP 的成绩也不是很重要,往好处想,至少我实践过考场上写 6k 的线段树合并了对吧。

按理来说我的OI生涯倒数第二次比赛就这么结束了,不过在Chery的联系下,我们拥有了 CCPC 桂林站的打星名额。在比赛之余甚至还能得到旅游的机会。只是陪伴了我和bot四年的的lsc说他CSP打的不好,打完NOIp就彻底退役了,也不会参与接下来的桂林之旅。由特点互补的我们三人组成的无敌之师 I_shui_IOI 就此解散。不知道如果那年的直升班多为OIer准备几个名额会不会是这样……

lsc的位置悄悄由qingbai代替,队名定为致敬lzy学长的 “转世成为Chery帮他AK”。

剩下的时光越来越少,尤其是这样的大家能聚在一起的旅游不会有第二次了……

但是这并不影响我直接睡过早上五点五十的赶火车的闹钟并被摇醒。并且,似乎家人对我的OI学习变得越来越暴躁了,动不动就以拒绝让我参与某次OI活动惩罚我的某个微不足道的错误,这次我差点没能前往火车站。

不过随着高铁一路向南,我被破坏的心情迅速恢复。而且,到达崭新的又一个目的地总是让我的心情很好。

试机赛里我尽显下饭,在简单的凹包判断狂暴贡献罚时,直到比赛临近尾声才状态上线,顶着截止时间将至的压力在最后十分钟内通过了D题。不过根据传统,试机赛都在周六举行,也就是说晚上还有ABC可以练手。大号打上蓝名之后我就开了一个专门打ABC的小号,不知怎么的用这个小号打比赛的状态出奇的好,次次都是机房rk1,这次80分钟不到就AK了,然后我收到了chery的私信。

你其实比以前做题快多了 还能最后冲d 并且细节不挂 为师很欣慰

欣慰……吗……

第二天就是正式赛。虽然一开始我全责没找到签到题G和M还吃了一发罚时,不过bot过了线性基C和数据结构I把排名救到了金牌区。qingbai说要写B就把键盘让给他了。随着他的代码越来越长,我们就去看别的题。最后bot顶住我的强力干扰(:“这题是schreier-sims!”)会了K,我则会了两个被榜带歪的简单题 H 和 J。

qingbai 刚终于过了 B,我们就拿走键盘一个小时过了三道题,【给 qingbai 一点小小的学长震撼.jpg】

讲题的时候可以发现后面有些题也不是不能做,只是没有仔细思考;fire 在台下对着显然没人听懂的 PGF 防AK题陷入了沉默,最后来了一句“这题怎么这么复杂啊?”

滚榜,最后是rk8!还是挺不错的。好吧不只是挺不错的,我作为XCPC选手从没打到过这个rank。

Chery不仅请我们饱餐了一顿(当然附带有NOIp动员的演讲),还特别送了我一大袋(量词是正确的,这是当地的某种特色)冰咖啡。显然我们都没有想到当时距离睡觉时间不到四个小时了。

根据预告明天会有一天的旅游。不过因为咖啡精力充沛的我选择边大战晚上的 UR 边等待CSP公布最终成绩。好在,两边的结果都是好的。UR通过了T1,CSP也得到了370分。但是为什么370分是CQ-34,在我没有察觉的时候CQ选手已经内卷到了这个地步吗?

在咖啡的作用下,我勉强睡着之后又醒了个大早。

桂林的风景非常好,甚至很多时候难以区分景点、公园和城市。

象山上人非常多,不过在山上游走很有趣。顺便还发现了“游客(tourist)禁止入内”的告示牌。

路过湖边的时候我买了一瓶甘蔗汁,真的很甜。

偶然在公园里看到几只猴子,有几个学弟意图挑逗它们。

现在谁是猴子呢?——yhy

随机选择了一家餐馆吃卤肉粉,这几天光吃粉了。不过好像也没怎么看到有卖别的。

下午大部分时间都在室内,打卡了几个景点就匆匆离开了桂林。返程的高铁上自然在编辑游记,似乎旁边的Ishy在玩Summer Pockets(这是我后来查到的名字),以及写含“xxx(各种游戏名),启动!”量极高的游记。

我多希望这次旅程永远都不要结束,不过火车还是依次通过越来越熟悉的地名:遵义,綦江……这就意味着游记应该收尾了,我的OI生涯也只剩下最后一站了。明明OI应该是心怀对遥远的未来的希望才能学下去的,一如那句熟悉的歌词:

定有某日OI赛中,荧幕之前,台阶之上,看奖牌芳容 六月至七月 远方等候,你为我光荣

可是这些远方不再与我有关了,我应该怎样写下故事的结尾呢?早已被夺去希望,离开OI就会坠入孤独,但是,但是……我还听说过另一种可能:『纵使日薄西山,即使看不到未来,此时此刻的光辉,盼君勿忘』。在我眷恋的一切被吞没之前……

这一次,我怀有希望, 这一次,我不再孤独。

Ep17. 像影子追着光梦游(2023.10.31~2023.11.18)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。
hzj:初三,OIer。

0htoai:高二,OIer。
Leasier:高二,OIer。

chery:OI教练。

离NOIp还剩下最后的两周时间,模拟赛的 rating 依然上上下下。大家发现OJ的 rating 系统非常有趣,让自己的个性签名(或者广告位招租、膜拜楼上楼下)显示在更高的位置似乎是不少人认真打模拟赛的主要动力。

随着第一轮互测结束,大家的模拟赛都进入了二周目。bot搬了一道以溜冰为背景的比较困难的图论题作为 T4,但是这道题没开赛多久就被 lhx 过了。

比赛结束后我们看了他的代码,发现他建图之后直接缩点在DAG上爆搜,碍于数据范围较小,图论的转化也不直接,DAG基本都退化成了几个点,想要把这个搜索卡到指数级非常困难。

在lhx嬉皮笑脸的催促下,bot被逼无奈公布了成绩。不过其实他打的很好,就算卡掉了他还是本场rk1。

但是“存在一个暴力无法被卡掉”这件事还是很让人耿耿于怀,我想了两个小时,终于想出了能构造出非平凡的DAG的方法,在数据范围内把lhx的搜索次数第一次卡到了上千。当然,这只是证明了这个做法的指数级本质,对hack他的代码杯水车薪。

我没有精力继续研究怎么把这个做法更进一步了,但是初三学弟 Sp 对这件事很感兴趣,接手了我的研究。通过错位摆放我的构造和在构造单位之间添加障碍(甚至被取了“伟大SA之墙”的名字),最终把爆搜卡到了百万规模。在这场模拟赛两天之后,lhx的提交终于变成了97分。

这应该算是存在时间不算太长的 CQYZUOJ 上发表的最重要的学术成果了。

qingbai 从他的 cnblogs 名字“烟山嘉鸿”中创造出了虚构人物 “小烟” 和 “小嘉” ,作为他的高桥君和青木君,比如 “小烟是天上的神仙……” ,不过其实 qingbai 本人比小烟更像神仙:似乎对于他来说OI真的只是一次漫长的旅行,没有明确的起点和终点,可能人生中的任何其他事情也一样。

我一直以为这个名字是从一首诗里截出来的,但是他告诉我其实是反过来的。他先随机生成了这四个字,然后为它写了两句诗。

烟霭沉沉,山色遥听微雨声。嘉陵滔滔,鸿恩落日照新城。

由于chery的失误,我提前看到了 yhy round 2 的题目。chery则发给我一套ZROI的题作为替代。我花了比较长的时间通过了前两题,在后两题写了暴力。(吐槽ZROI评测机会让 1e7 的线性筛 TLE)

赛后我翻了一下榜,发现T2怎么又是最难的,因此我的得分显得不高。没能超过去年同期的 sword 这一点让我尤为难过。

我向 sword 讲了这个故事,然后问他 “你怎么还会写 Miller-Rabin?(T4要用到)”

“为什么不会?”

啊,不要回答的这么理所当然啊……

但这段时光中其实我每场比赛都打的不错,只不过连续六场rk1的bot让人实在让人难以望其项背。

为了避免大家的讨伐,我的 milo round 2 就放了四道简单题。众所周知一道题被称为简单题当且仅当它的题面里含有“简单”子串。

不过lhx和bot还是都顺利打上了300。只是没人记得 T4 要用的管道取珠 trick让我有些失落。

5月以来,我的OI世界充实,充满热情,尽管没有什么高光时刻,但可以说几乎没有可以遗憾的地方。我不知道这段时光对未来的意义是什么,其实根本就没有考虑过“未来”这个词的含义吧。但是流淌的时光中有无法用标尺测量清楚的东西,让我再也不可能做出第二种选择。就这样我踏上了前往CQBZ试机的小路。从学校后门过地下通道,再走几百米,爬上一段长长的台阶,又经过一段天桥就到了。

很轻松地一遍就写出了SAM,看上去状态不错。

没有做过多停留我就回到了自己的机房,应该不用再做新的题了。我开始和 0htoai 聊天,想象我们退役之后的样子。但聊起这些总有种不真实感,OI作为一种身份,似乎有着不可战胜的生命力,哪怕它的期限只是一天,也绝对让人无法想象一天以后的事情,也让人真诚地希望珍惜这倒数的时钟每一次的跳动。

如果不知道应该做什么的话,那就和平时一样吧。我们拿起羽毛球拍走向了操场。

本来羽毛球结束之后我们就应该离开,但我希望在机房多待一会。让《追光者》的旋律再放一遍,再放一遍……

我悄悄地问过自己对于明天的NOIp的感觉,听到自己说“会不错的”。

2023年11月18日上午8:30,NOIp2023在CQBZ举行。赛前,我认真地找到了每个重要的人祝了加油。

依然浏览一遍所有题,为什么觉得T4不像是很难的样子呢?

T1 dict 就只是个简单的排序贪心,不能浪费太多时间。我迅速完成了这道题的代码。

T2 tribool 本质上只需要维护一些变量之间的相等和不等关系,那就是扩展域并查集对吧。因为 'U' 的存在还差点挂了一次,好在被我及时发现了。

T3 expand 似乎不是很容易解决,而且又是贪心题。不过也没有哪年的T3是容易解决的,可以先画画图分析。

过了半个小时有了一些隐约的想法,似乎有一些连续段的具体值是没有用的,有用的只有前后缀最小最大值?那就先看看特殊性质,也就是只有前缀最小最大值。

如果是贪心的话,那是不是能取就取就是对的?好像还真是。那是不是能得到很多分了。

不过能取就取就是对的似乎让人想起一些事情:两年前的 palin 是不是也这样?

接下来该怎么做呢?“能取就取是对的”依赖前缀min、max的单调递减、递增。虽然现在序列不单调了,但是序列还是单峰和单谷的?那把序列从中间分开,两边往中间能取就取……

好吧,和 palin 一模一样。

这道题也算大家一份……我在代码里感谢了每一个机房里同行过的身影。

第一遍写完没有通过大样例的时候心脏都快停止了,好在很快排查出是我自己写错了多测。隐约感觉自己通过了一道不那么简单的题……赶紧去上了个厕所。在从厕所回来的路上瞟到Leasier的屏幕上已经打开了 T4 run ,那真得抓紧时间了。

这题怎么第一眼看上去像是 CF115E ……这题怎么真的是CF115E???

心脏又停跳了一拍。虽然其实不太可能写不完,但是调出来的时候还是长舒了一口气。然后我还有半个小时就要退役了?

//OI无悔
//谢谢大家,谢谢。

命运真奇怪啊……我边这么想,边看着屏幕上滚动的 “goodbye,world!” 一行行闪过。我在好久好久之前就开始喜欢这里的一切了吧……除了“像影子追着光梦游”,没有别的办法能描绘我对OI世界的眷恋。

翼なんかないかもしれないし
也许我并没有什么翅膀
飛んでる思い込でるだけかもしれないけど
也许我只是单纯地以为自己在飞
でも 今の私が一番好き
但是 我最喜欢现在的自己
胸張って言える
因为我可以昂首挺胸地说
これが本当の私だって
这才是真正的自己

出场问了一下,Deepskycore 400 - eps, lhx 375, yhy 335, bot 335, qingbai 310, lsc 299, Ishy 291……非常感谢大家的相伴。尽管我已经放弃希望,但还不愿意放弃我的大家……

Ep18. 归零的倒计时 (2023.11.18~2023.11.26)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。
hzj:初三,OIer。

chery:OI教练。

tjy:CQYZ直升班总负责人。

离开考场的一刻,我的身份就不再是OIer了。但是,我还想和大家多分享一些欢乐的时光。暂时先不告诉大家伤心的事情吧!我提议大家一起去三峡广场的 sukiya 庆功。毕竟我们刚刚一起解锁了一项前无古人,也很难后有来者的成就——全校所有参加 NOIp 的选手,全部都通过了 CQ 一等奖分数线。

在漫长的时光中我们的命运早已经息息相关,因此,同伴和自己的进步在我们看来是同样重要的事情,在彻底离开机房之前,没有人应该被丢在身后。

在路上,我给 chery 打了一个电话,平静地告诉了他我们的成绩。这会是他来CQYZ 3年以来第一次得到值得庆祝的成绩,还是应该让他早早知道……

yhy说,我会作为机房里的第一个 NOIp AKer 载入史册。

会吗?好像是会的,但好像也已经和我不再有关了。这样的心情应该怎样形容呢?

我自己都不知道自己带着怎样的心情回到了家中自己的房间里。

等周日我再踏进校门的时候,似乎全校的人都已经知道我 AK 的事情了,不用想,肯定是 bot 干的……

周一,化学老师就和不愿意听课的化竞同学当着全班吵了一架。这之后的一小段时间,班上的氛围出奇的诡异。生竞的同学在隔壁教室单独补课。刚回来的我们硬着头皮听断了好几个月的文化课,其它竞赛的同学则暗流涌动,似乎随时都会有矛盾爆发。还听说班主任和其他同学在我们缺席期间闹过不少不愉快。

机房里温馨的氛围和总是愿意互相帮助的大家让我们都忘记了机房以外的世界本来不是这样。一切的一切都给我们一个明确的信号:这里不是家。

周二,我把自己的东西从机房搬走,顺便用了一下机房的电脑写完了游记。虽然说已经退役了,但是还能常常出入机房,因此退役的感觉很淡薄,悲伤的海浪不知道什么时候才会袭来。

周三。家人突然问我。是愿意就此离开OI,留下完美的最后的记忆,成为机房的传奇,还是无论结果如何都想继续。

在这个问题面前,我稍微有些迟疑:我没想过自己还有被提问的机会。

如果要我回答这个问题的话……我不是为了“传奇”才来到CQYZOI并且一次又一次选择留下的,再怎样被修饰的回忆都不如多片刻真实的时光。更何况,如果一间机房真的可以有所谓的“传奇”的话,那也绝对不是这样,不会是获奖名单上的某行记录,而是机房里真实存在过的无法分割的某个人的一部分,在共同的记忆长河之中流淌。

我做出了我的回答。家人表示,他们需要先和 tjy 沟通。剩下的事情周末再说。那看来可以再把退役的消息再拖几天了……

周四,班主任说要找我们聊聊,其实就是想对我们赶鸭子上架让我们参加月考,真是的……

周五,我们手无寸铁地参加了月考。卷子上留下了大片大片的空白,陌生的学科和试卷还要花多久才能适应,我不知道。只是 Chery 晚上打断了我们的自习,把我们单独叫到了一间空教室里,宣布下周一开始大家就能停课了。

周六,同时也是月考 day2。今晚回去就要面对家长了……

我把事情的原委先告诉了bot,并最后带上了一句,明天你就能看到我正式宣布退役的消息了。

bot坚决认定不可能。“你都AK了,就算你家长让你退役,tjy也绝对不会同意的。”

“tjy不同意有啥用……”

回到家里。我开始写作业。等待晚饭。为什么还不告诉我决定呢?

一直到晚饭结束以后,我正准备回到房间,这个时候—— “你不打ABC吗?”

这个问题的意思就是……我可以继续我的OI之旅了吗?

不知道会不会是最后一次的,我和爸妈紧紧地抱在一起。

虽然在家人面前我不能表现得太夸张,但是激动的我彻夜难眠,连夜为自己的游记补上了结尾。

//遗憾化作了翻飞的蝴蝶,蝴蝶扑向了火焰。

2023 年 11 月 26 日,星期日,下午。我又一次推开了机房的门。不过由于所有的心情都在过去的一周时光里碰撞、沉淀,这一刻反而显得稀松平常。虽然被要求 NOIp 退役的那一天以来又发生了这么多事情,但是其实也只过去了三个月。下一个定时为三个月的沙漏刚刚翻转,这一次,命运回到了我手里。

大家说着要把 NOIp 搬到 UOJ 上 计入 rating,真是的,想保送我登顶就直说呗。

提交大家的代码的时候我瞟到了 lhx 的 T3 O(n \log n) 程序,据他说,他卡了一个小时常数,但是得分依然停留在 75 分,可是……

“你的快读呢?”

“我感觉用处不大,就删了啊?” lhx 茫然地看着我。

虽然 lhx 不可理喻的行为不在少数,但是我没想到他会在 NOIp 再创辉煌。

“假赛!假赛!!” 我指着lhx的代码招呼大家过来观赏。

“你怎么能假赛呢?” bot过来用lzy拳法打了一下lhx。

在欢声笑语中,我的在教室中窒息的空气中凝固的血液又开始了流动。我从来没有这样真切地感受到,尽管并不可能,但我永远也不会想离开这里了。

Ep19. 回响的歌声 (2023.11.26~2024.1.24)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Ranya:高二,OIer。
0htoai:高二,OIer。

tjy:CQYZ直升班总负责人。

NOIp 结束之后的第一场ABC,我就因为不熟练 min-max 容斥的期望形式被 bot 吊打了。虽然 CQ-01 是挺风光的,但毕竟 OI 还是要比拼硬实力,看来当年摸鱼欠的债还是没有还清,我又回到了熟悉的一边尝试突破自己的极限,一边追赶大家的脚步的节奏中。

麻烦的是,大家推进省选题单的速度快的令我瞠目结舌。这可能是我自己代码能力太差导致的,但我真的想不明白:SDOI2017 切树游戏 有这么好写吗?这样下去我和大家的能力差距是不是会越来越大呢?

显然chery也注意到了这个问题,他建议我每天来机房都拿一道自己觉得没有那么好写的题目练练码力。这个习惯我坚持了一个月。为了避免过拟合训练的题目换了好几次。

冬天来临了。我的手在来到机房时会彻底冻僵。写一写数据结构正好能把手指活动开。

十二月,我们参加了 THUPC,由于大家集体战犯,三个NOIp分数之和为 1070 的人没能打进决赛,即使我发现有一道题可以完全套用 Holy Diver 并且直接贺来了代码也无济于事。

不过鉴于当晚chery带大家吃的涮羊肉还是很美味的,这似乎也没有那么重要了。

在某天放学的路上,我又偶遇了tjy。这一次他满怀激情地告诉我,“CQYZOI已经触底那么多年了,该反弹了!”。

以及,如果我都不能担此大任,他也不知道有谁能做到了。

这句话为什么那么的似曾相识呢……

时间慢慢来到一年的末尾。2023年里我几乎经历了一个OIer的一切,cool_milo这个ID也从机房吉祥物到真的如一年前chery所说的一样,成为了种子选手。

尽管不好意思提及,但我一直惦记着当时给自己加上的CQYZOI队长头衔,除了要有过硬的水平,我觉得自己还应该做点别的事情把大家联结在一起。tjy 也是这么说的,如果我们高二的五个人是分开的五根手指头,就会被一根根掰断。只有并拢捏在一起成为一个拳头才会有力量。

虽然是挺“成功学”的比喻,但是我很喜欢。

总之,我们将会回到班上参加新年晚会。由于疫情和停课,还有高一的按照是否学竞赛重新分班,我们在那里度过的时间累计起来只有不到半年,上一次还留下了不太好的印象,其它同学的情况也大同小异。在这样的地方举办的庆典,只怕是连用氛围的喧哗掩盖彼此的陌生都做不到。

我提议,除去不在直升班的lhx,剩下的四个人一起唱《膜你抄》,这样即使班上四分五裂,至少还有我们是紧紧相连在一起的。

我本来还纠结了很久对着不懂OI的同学唱和OI强相关的歌词是否合适,但想到我也不久前才知道 “树上开花” 指的是什么,就觉得也没有太大的问题。

bot对唱歌的态度一向是“虽然唱的不好听但是只要开心就好了”,爽快地答应了。但是 yhy 表示自己不想唱歌。

我单独去问 Ishy 的态度,他想了想,答应了。

一直到晚会开始前一个小时,yhy表示既然大家这么热心,自己也愿意加入。不管怎么说能凑齐四个人真是太好了……

实际上四人组只有 Ishy 略会一点唱歌,也没有人有很强的舞台经验,所以我反复尝试逃离并被 bot 推回中间的位置,但是我唱到一半忘词了,一直在回头看屏幕。

一曲终了,不知道有没有让大家的距离再靠近一点点呢?

如果标算太难请坚定信念 不如回头再看一眼题面 以那暴力模拟向正解吊唁 蒟蒻的蜕变 神犇出现 终将与Au擦肩

晚会结束以后我逛到隔壁非竞赛班,想要凑热闹。显然不像勉强维持氛围的竞赛班,这里的晚会还没有结束。在门口偷看的我被班主任,也是我的化学老师非常热情地邀请到教室里坐下。而且居然直接把话筒递给了我,想让我上台唱歌。

我推开了话筒。

在鸠占鹊巢得到的位置上欣赏了很久精彩的表演,最后一个节目结束以后,在众目睽睽之下,她又把话筒递给了我。

我大脑一片空白地接过话筒,但我就是听过的歌都屈指可数,还要稍微熟悉一点的话……刚唱完了《膜你抄》,《追光者》初三毕业唱过了……那只剩下唯一一个非常冒险的选择了。我点开了B站,对台下的听众说:“过去的一年里,是这首歌支撑着我学OI,因为我唱这首歌很可能会翻车,希望大家见谅……”

《一番星》,也就是《我的一个OIer朋友》的前奏缓缓流淌而出。

我没有告诉大家,其实“翻车”指的并不是我会唱得不好,因为这个想必所有人都有预料,而是在唱到『恍然又记起你讲题的时候』的时候眼泪开始不受控制地滑落。后面的每个字都带上了泪音。『难忘记你笑脸温柔 命运如锁扣 路我代你走』本来我是唱不上去的,但是由于在哭的原因胸腔相比平时扩大了,这次居然唱准了。最后一句『六月至七月 远方等候 你为我光荣』也是一样,但唱这句的时候我实在是太用力了,在达到了音准之后就开始走样,滑向了不受控制的噪音。

台下传来热烈的掌声,那应该是成功了……

我对着台下全力许下大家共同的愿望:“CQOI2024rp++! NOI2024rp++!!!”

走下讲台,我抹着泪痕离开了教室,恍然之间,我听到隔壁班主任在我身旁说,“……我们永远是你坚实的后盾……”。

一月,chery开始带我们加训网络流,方法是每个人都会得到一个长长的题单,在一段时间的研究之后大家互相分享。我开始维护自己写的最认真的一篇博客。虽然标题是 Flows,但实际上我还学了 最小割树、带花树、Stoer-Wagner、KM算法。

所以有没有人能教我KM算法的复杂度证明来着,我到现在都没有想明白。

我晒出博客的时候被 Ishy 跟了一篇长度是我两倍的博客管上。本来我还以为自己很勤奋的……看来比起大家还是差远了。

bot 在说 [NOI2008] 志愿者招募需要使用线性规划对偶,但 lhx 拿到题看了两下就写出了一种没人看懂的建图。后来发现他自己发明了网络流的区间选择模型:人类和lhx还是太难交流了。

随着 lhx 的逆天行为越来越多(比如在 MC 中屠杀小村民),Ishy开始维护一篇名叫 “6hangshin” 的博客。“6” 来自于lhx的口头禅,而后缀 “shin” 是因为 lhx 玩中文二字英文七字的游戏。

这篇文章被 lhx 机惨删掉了五次。但是 Ishy 在 cnblogs 上留了一个上了密码的备份从而不断补档。我实在是很想全文摘录它,但碍于篇幅,只能放一个 传送门 在这里了。

但显然这不足以阻止 lhx 在逆天行为上的创造力,他的下一个发明是拿羽毛球拍偷袭 Ishy 的屁股。

Ishy 试图追上 lhx 以牙还牙,但是 lhx 很快就消失在了楼梯间的上方,等到 Ishy 追到三楼又从防火门背后再偷袭一次。

网络流大战结束之后,Chery又告诉我们,不久之后他将会再次邀请其他学校的选手来打省选模拟赛,题很简单,人均分250。看上去,这是证明自己实力的大好机会。

不过在模拟赛之前还有一件值得纪念的事情,在ARC170我和C题对上了脑电波,以很快的速度通过了前4题,最终得到了rk68。好像还击败了IOI2026冠军。 由此拿下了学校历史 Atcoder Rating 前缀 max 的我非常开心。毕竟,总算有一个理由能让自己相信比学长们做的更好了。

模拟赛那天早上我遇到了 Ranya,她告诉我,我看上起很有 “Au选手的气势”。

“真的吗?我看上去不是很SB吗?”我有些不理解这种“气势”的说法从何而来。不过现在我理解了:平时的模拟赛再怎么犯傻无关,和发挥完美的 NOIp 也无关。把应对无论多困难的挑战和完成无论多艰巨的任务当做理所应当的事情,是最能让人喜欢自己的理由。当时的我确实带着很强烈的喜欢自己的人才能展现出来的气息吧。

由于那句“人均250”,我浪费了很长时间在思考T2的正解上,最后部分分又写炸了喜提 100 + 0 + 0。但其实最后根本没有人通过后两题,只有 cqbzly 一个人得到了非平凡部分分。我对 chery 在考前大放烟雾弹的行为进行了谴责,而他表示“为什么你要信呢?”

我顿时有些语塞。尽管还是很不服气,但确实,考场上的心态是不应该受到任何因素干扰的。

就这样我错过了证明自己的宝贵机会。不过更好的机会马上就要到来了。作为疫情结束之后的首次线下冬令营,THUWC 和 WC 都即将在重庆举办。而这将是我第一次参加这样的盛会。

Ep20. 重逢的约定 (2024.1.24~2024.2.4)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Ranya:高二,OIer。
0htoai:高二,OIer。
zhy:高二,OIer。
yxh:高二,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
hzj:初三,OIer。

THUWC 和 NOIWC 开始前两周。

因为在口袋和书包里翻出了乱塞的物品,已经形成路径依赖的家人直接让我二选一:OI停训一周或者不参加已经报名的 THUWC 和 NOIWC。

怎么又来……尽管这已经足够让我到达悲愤的顶点,但是我依然不愿意使用任何形式的暴力。我拒绝答应这个无法接受的条件,但除此之外一直在软弱地流泪。

经过两个小时艰难的拉扯,我才获得了参加两项活动的权利。尽管机房时光很快抹平了所有的不愉快,但来之不易的机会一定要认真珍惜……

在 THUWC 前两天,我发现一直在拟合省选考纲导致我不会 FFT、不会 LCT,不会 SAM 合称:试机专用三大算法,赶紧加训一下。

其实也不是完全不会,但不太能顺利的写出来。

yhy做了一张“CQYZ东征BS中学”的图。午后,我们大部队不完全沿着图上的路线出发前往渝中区,也就是重庆的“山城”特色体现的最明显的地方。qingbai 则独自前往育才中学参加PKUWC。

虽然没有大多数选手共同的旅游体验,但是不是可以根据地形的不同,划分我们在的地方是重(chóng)庆,而渝中区是重(zhòng)庆呢?

在黄花园的一间宾馆放下包。我们决定先随便找个面馆吃晚饭,然后去洪崖洞逛逛。面馆点餐居然需要手写,不过这也不是什么坏事。书法水平一向碾压打印机的Ishy的表演让所有人为之惊叹。

无疑,在旅游旺季去人山人海的洪崖洞是一件麻烦的事情。大家一致决定从山上的沧白路11楼入口挤到江边的1楼出口就算成功。尽管一路走马观花,但是下十层楼还是花了我们半个小时。

好像没有人考虑过该怎么回去的问题,也没有人愿意从洪崖洞原路返回。虽然空间坐标意义下我们和宾馆近在咫尺,但是导航显示返程至少还需要步行半个小时。

我们决定打车,但是经验丰富的 SA 决定问路,然后把我们带进了一栋酒店大楼,按下了上楼的电梯。

我就说我们在的地方是重(chóng)庆,而渝中区是重(zhòng)庆吧。

SA 决定在宾馆里唱《灯火里的中国》,很难区别他和他的偶像周深哪个声音更好听。

2024年1月26日。THUWC2024 在 BS 中学举行。发现有 pretest,这是好的。

T1是一道比较典型的状压DP,但是我考前做 [省选联考2020A/B卷] 信号传递 做魔怔了,对 O(mn2^n) 做法被卡成77分的第一反应是 卡常 而不是想更优的做法。

经过一段时间的思考我发现贪心可以把状压的常数减半。多交了几次就评测机波动过去了。

T2是一道不知道正解是什么的递推题,但是转移系数是能直接求解的。不管怎么样先写出转移系数再说,

写着写着突然发现转移的本质是循环卷积,而数据范围保证 n 是二的次幂。我依稀记得一年前……

“FWT的本质是高维循环卷积……” sword凝视我和bot说。

“什么是……高维循环卷积?”

“那我问你,你FFT的时候为什么要倍长序列?不倍长会怎么样?”

我和bot对视了一下,摇摇头。

“当 n 是 2 的次幂的时候,不倍长序列就做 DFT 会得到模 n 意义下循环卷积的结果……”

我还从来没有尝试过这个做法,但 sword 一定不会骗我。先写完暴力,然后补上一个NTT,100 RIGHT ANSWER 如约出现了在屏幕上。

T3 是一个不知道是什么的交互题,前两个包是简单的,第三个包先试探性地写上一个暴力……怎么直接拿了97分?

当然大家现在都知道了,这个做法是错的,但是当时的我显然没有足够的冷静的头脑想到这点,就直接打开了最后一题。

剩下的时间不多了,我先写上了T4的暴力,发现第二个包是整体二分,但是写了半天没有写完,倒闭!

遇到了bot,他今天发挥的不错。他告诉我,他的T2过了,并且没有通过那个不满足 n 是 2 的次幂的样例。

我们都笑了。我们都知道,那是远去的身影又一次向我们挥手。

在知道自己的T3爆炸以后我有点难过。不过我还要面基 Ranya!成功在学校门口堵住了她。但是堵住之后不知道应该干什么,又把她放走了。她身边的XF同学肯定觉得我的行为很奇怪。

大家要回酒店了,但是我抱着旅游的心态沿着张家花园步道走了很远,一直到被chery电话拽回来为止都没有意识到耽误了大家的行程。好在chery似乎将我的行为理解为了心情不好正在散心,甚至单独开了一趟车把我接回了酒店。

晚上和 Ranya、0htoai聊了一会,又和伙伴们加训了一些山东特色牌类游戏(名字叫“保皇”),自己又练了去年的工程题(手搓CPU)。这些事情都很增长信心,明天肯定能翻盘的!

chery怎么在说“你什么时候给这个破学校争点气”,像改变机房命运这样的事情不是我一个人能做到的,应该大家一起才对。

day2题目是四字棋人机博弈?做题不会乱搞我应该能会了吧?

PPT是什么,看不懂。我要看估价函数。翻了半天没找到,那就自己编一个。

爆搜一写就是一整场。尽管经过的不少曲折(比如打不过最强波特4.so)让我一度以为自己要爆零了,但最终结果是好的。我和lhx拿下了两个一等奖。

只是,其他伙伴们都有些爆炸的事让我有些难过。

两天过后就是 NOIWC。初中的同学们和Ishy没有报上名,所以只有我、lhx、yhy、bot、qingbai去了。我订购了 30 个徽章,希望能借此认识一些新朋友。

Chery的汽车向东驶过嘉华大桥南桥头的时候,我给大家介绍李子坝立交:

“我记得这条下面是瑞天路,然后中间是经纬大道,上面是嘉华大桥……”

“右,左,左。” qingbai 无情地打断了我。

我冒牌交通迷的本质在和天上的神仙的对比之下一览无余。我很想问 qingbai 为什么这种细节都能记清楚,但看他的表情,这是一件再简单不过的事情。

车停在了 YC 中学后的小路上。“那是一个著名的摄影点。” qingbai 指着 YC 天桥告诉我们。

YC中学的校园很有设计感。依山而建的主公路俯瞰着一副巨型国际象棋的棋盘(很难不让人联想起高布石),气势恢宏的操场和体育馆,还有精心准备的随处可见的漂亮的 NOIWC 的引导标志(41th)。

真的有人在下那副巨大的国际象棋,我感觉自己走进了梦境里。

即使可以看到外面林立的高楼,但是这里有一种让人安心的气息告诉我们,在这里尽管做让自己开心的事吧,大门以内的世界都是属于OI的。

领到了一本厚度足够拿来当枕头的学习资料,若干物料和一件我很喜欢的冲锋衣。一直到进入宿舍才发现第一个让我感到不满的地方:没有足够的插排。大家的充电线已经连成了蜘蛛网。

成功见到了在haoba模拟赛后给我细心地解答问题的 zhy,以及和他互换了胸牌的 wly 和 yxh。解锁了新的成就:和外省选手面基!

在楼道里随机游走,和一些选手交换了徽章。但是的确还有不少想要我的徽章的群友没有带来自己的,我和他们每一个人都郑重定下了NOI再见的约定,然后先送出了自己的那份。

距离开幕式还有一小段时间,赶紧拉着大家看看陶行知纪念馆。然后奔向会场。

开幕式的细节已经忘却,但是我的确真切地记得领导们把手同时按在屏幕上,全场一起倒数十秒,随后舞台前喷出金花,《我乘着风飞过来》的旋律响彻全场。

bot 很喜欢熊出没的各种插曲。听到这首歌他很开心。

接下来的一周里,我每天早上准时被 qingbai 手机播放的《千千阙歌》唤醒。和数百陌生OIer们一起,听着难度或者勉强能接受,或者只能无奈掉线的讲座。

我发现zhy和yxh一直都坐在会场的第一排,因为知道他们非常强,想着“厉害的选手是不是都这样呢?”于是就经常丢掉自己本来的位置过去和他们坐在一起。我发现这样上台问问题很容易抢占先机,后来这成为了一个固定的习惯。

测试日的前一天晚上试机,试机题是 NOIp2021,诶selfeval真牛吧。

在我生命中的任何其它时刻,我都会随便写点题然后离开会场。但是那时的我直接打开了T4 chess:我真的不愿意放过每个能挑战自己的机会。

还没调出来我就被清退了,挺遗憾的。

2024年2月1日早上,NOIWC2024测试正式开始。心态类似于 “反正就是来玩玩的比赛,Au估计也不难”(?)

T1 codejam 是一道非常简单的背包问题,有点不理解这题是怎么出现在WC考场上的?(后来才知道这是冬令营专用题)我很快就实现了这道题的代码。

T2 mirror 则指向双指针算法,维护可行的 L 的区间。但是不知道应该怎么处理 h_i = h_{i + 1} 的情况呢?猜了一下只会有些可以忽略的孤立点导致可行的 L 不是区间。有些不清醒了,用了好久才完成对猜想的证明,写上去一口气通过了所有样例。早知道不证明了。

T3 segtree 是一道困难的题,剩下的时间也没有很多了,赶紧实现了特殊性质和暴力分。不管怎么说 225 看上去是一个很高的分了。应该能Au了吧。

出考场试探了一下遇到的zhy,报了不会T3,yxh,他也说不会T3。再问问群里,说225肯定拿下了。那是不是我真的Au了,学校好像还没有过 WC Au,好开心……先对chery说自己爆炸了吓他一下。

但是其他人打的都不是很好,甚至bot说自己只有4分。没有人质疑过bot的水平,但是连续两次爆炸不知道会对他造成多大的影响。我很担心他,但是我打的那么好,除了没关系和省选加油以外似乎真的说不出有道理的话,剩下的鼓励他的事就交给晚上的文艺汇演吧……

由于不怎么听歌,节目单上的音乐我居然一首都没有听过;尽管很期待,但是DL24的同学们也没有写新歌填词……这个叫《歌曲串烧》的节目是什么?

好像是来了一个YC的同学唱《岁月神偷》。我有些走神,转头看向了一边。不知道过了多久,bot 戳了一下我,然后指向了舞台,“看,《追光者》”。

看来并非一首都没有听过。我打开了老年机的手电筒,开始为自己喜欢的旋律划出节拍。

略显遗憾的是,我们几个人中只有 qingbai 主动参与了幕间的游戏,其他人都没有成为这场真正属于OIer们的晚会的一部分。

CQYZOI(高中部)的构成成分:神仙和他的社恐学长们。

上台表演的群友普遍实力强劲,有群U顶着才唱了三个音伴奏就掉线引起哄堂大笑的压力唱完了难度颇高的《夜に駆ける》,有周深2.0,甚至还有钢琴独奏,我确实想象不出如何一边学习OI一边维持多才多艺。不过无论在什么标准下,总有那么多人有过人的天赋不是吗?

我和大家一起分享了耀眼的辉光的一部分,这就足够了。

今天已经很开心很开心了,也已经很累很累了,但是我还有最后一件事要做。我偷偷地在晚会结束之后甩掉了大家,来到了操场,那里如我所愿空无一人。我把合十的双手举到胸前,朝着青色的夜空,轻轻闭上眼睛。

我想今年夏天再回到这里……

又是两天好难的讲座。然后是集训队论文分享,国家队答辩,颁奖典礼。站上领奖台上的时候没有预期中的喜悦,因为我一直在忙着寻找伙伴们的踪影,但是大家已经到会场外了。领完奖,我赶紧冲出会场回到房间和大家汇合,展示了我的奖状。

“NOIWC-50吗,能不能NOI也是这个rank?”

“这个rank也不稳啊……”

果然,比起登上领奖台,还是和大家在一起是最好的……

Ep21. 铭刻时光的黑板 (2024.2.5~2024.3.1)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。
qingbai:高一,OIer。

PG:大一,退役OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。

tjy:CQYZ直升班总负责人。

我们熟悉的四机房进入了漫长的装修。我问chery什么时候才能再用上它,chery告诉我进了集训队应该能。

所以,我们搬离了四机房,入驻了另外一栋大楼里的空教室。除去我们的座位,教室里右前方是chery的座位,左前方的地板上放着一块黑板。

WC2024结束以后,黑板上写上了距离省选的时间。大家每天早上来到机房做的第一件事就是更新这个数字。

为了给自己上上buff,也为了表明自己愿意破釜沉舟的决心,我提前发了退役记。

我还说,如果我能进队,就绕操场跑一万米。其实我从来没有跑过这么长距离,但我觉得这显然值得用特别的方法庆祝。

回到机房只来得及刷了两天题单,就到了为时六天的春节假期。和NOIp之前一样,我需要在这个假期里挑选题目,造数据,最终组成一套互测题。

深受各种逆天模拟赛所害的我把难度一削再削,最终定下了“信心赛”的定位。

除此之外,这个假期我还学习了斯特林数,打了一场 Goodbye Guimao。经过四个小时的奋斗,我通过了T2并且得到了rk26。

但是,在这个假期我刷了3天B站的事情让我非常后悔。

或许我能用也不差这三天来宽慰自己,但一直到我退役后很久,我都在痛苦于假期里没有竭尽全力。

为竞赛生单独准备的开学典礼上,CQYZ的新晋MO集训队来做了一次分享。虽然他的名字在学校如雷贯耳,但这时我才知道他也因为whk退出过一段时间竞赛。但最后他还是选择了走完MO这条路,并且如愿得到了完美的结局。

听起来和我有不少相似之处……

开学典礼结束后,我被tjy塞了一个金黄的橘子。

或许是因为假期里没有认真训练,或许也是因为qingbai不知道为什么在模拟赛里放了三道非常难的题。我在回到机房的第一次 qingbai round 原地爆炸机房垫底。由于大家调高了ratingdelta,初中的学弟加入了模拟赛提高了比赛人数,我的rating直接爆扣了515。

比赛结束之后我对着qingbai破防,但是过了半个小时我就后悔了,下午的训练开始之前,我在全机房的见证下郑重地向qingbai表示了歉意。

我几乎从来不会对别人这样,希望他不要放在心上…

班主任和tjy问过我几次关于省选的想法。每一次我的回答都是“有希望了”。我无法做出更多的保证,这就是我能做的最好的回答。

为了这样的希望我绕了好远好远的路啊…

机房里VP了一场由于第二天早早上课而缺席的div1+2,我发现F题是 rainfestival树,于是非常高兴地秒掉了,最后打了rk104。

好像错过了狠狠上分的大好机会,我向chery吐槽,得到了chery赠送的蝴蝶酥作为补偿。

Chery说,如果在这样的比赛里能稳定打进前一百就能集训队了。

省选临近,除了我以外的大家轮流在模拟赛打出了高光的表现,但是状态最好的还是lhx,他的rating一路涨停,最后变成了深红色。

在冬令营学会了“最牛刷题者”这个词,我觉得这个称谓挺适合lhx的。

我第一次知道在uoj rating超过2400之后 选手的名字右上角都会加上一个小小的ℵ标记。我一直以为这是zhengruioi的特性。

由于第一天的-515,我的rating输在了起跑线上,后来的几场模拟赛一直没有拿到rk1,所以rating就一直不高。

其实机会是不少的,我也从来没有差过题数。但每次都输在一两个十分或者二十分的暴力没有写,在大家分数相近的情况下相当吃亏。

难得有一次在haoba模拟赛里登顶,由于电脑故障我不得不在赛后再提交所有代码,就这样被同分的lhx以提交时间挤到了rk2。

haoba发现我们薄纱了南京线下的选手,专门打电话给chery道喜。

黑板上的数字变成了7,chery宣布将会带我们去登歌乐山。“PG他们NOIp之前也去了”。

据说,攀登这座海拔678米的山峰可以磨练意志。

出发之前先看看SCOI的day1,这个队线怎么能只有110的,那不是闭着眼睛都能上吗?

坐公交车到歌乐山底下,开始登山。不知道为什么身体一开始没有进入状态,登到一半体力就快见底了,这个时候运动机能终于被激发,一直到登顶的时候体力还没耗尽。

发现路旁有一处专门的地方挂着很多祈愿的小木牌,我没有带笔真是太坏了。我偷偷找到一块石头,在柱子上刻下了“CQOI2024 rp++;”

在山顶,整个重庆城一览无余,但是我们都在默契地做同一件事情。

“那里,就是我们的学校…”

既然来到歌乐山,就不得不品尝这里的特色辣子鸡了。平常忙碌的训练当中无暇顾虑,在餐厅里坐下来的时候,远离机房和与OI有关的一切的地方,我才第一次真真切切的感受到大家共同的担忧:

“这个队怎么进啊?”

yhy直接怼了回来,“你现在比队线高半道题,你觉得CQ有多少个人能翻你半道题?”

好像也是,但感觉我啥都不会啊?

他回复了那个经典的标准答案:“只要暴力打满就可以了。”

好像也是,但我还是有些担心,“但是去年的题暴力打满只有 100+55+48+100……”

yhy用无奈的吐槽打断了我的计算:“你再加下去要进A队了!”

“啊是吗,好像是,啊哈哈…”

在带来丝丝凉意的晚风中,我突然有了一个想法,自诞生起就不断地扩大,而且让我非常心动。

我想在注定的分岔口送给大家一件礼物…

距离省选还有六天的时候,半个黑板大的“6”后面加上了小小的“hx”。

yhy看到了之后又在右上角加上了一个小小的ℵ,包括lhx在内没有人反对。

当晚有一场ABC,已经大小号都是黄名的我决定倒开,被F的细节卡爆了,最后没有AK…

但是除了我以外的大家都AK了。这甚至是yhy第一次AK ABC。

他说,有一种奇妙的感觉,似乎OI生涯再也没有遗憾了。

黑板上的数字变成了5。

带着对最后一次ABC翻车的沮丧,我回到了家里。翻出了NOIp2022之前写的反思博客,真不敢相信只过去了一年半。这段时光中真的发生了好多事情。

和sp聊了很久,自己也想了很久。看到大家曾经的加油真的好暖心。

根据我的习惯,我发了一篇博客反思自己过去一段时间没有做好的一切,是不是有些浮躁,是不是没有好好写暴力,是不是没有一直做真正重要的事情…

我们NOI见!

黑板上的数字变成了2。

我真的很想拿到一个rk1,但是可惜在奋斗三个小时做出T1之后,我发现自己被卡空间了。只能写完这题所有的部分分和后面两题的暴力。

大家都用不同的方法规避了空间限制的问题,听完大家各自的巧思之后,我不得不承认这次确实没有办法…

bot也拿下了ℵ标记,这下机房里有两个ℵ了。

黑板上的数字变成了1。

chery不知道为什么取消了我的信心赛档期,改为早上VP刚结束的div1热身。“省选结束之后再考这套吧!”我对大家说。

我非常顺利地通过了前三题,最后得到了rk84。

好像错过了GM的机会,以及,按照chery的说法,看来集训队确实也没有这么难…

下午是试机时间。给认识的所有人发了rp++。写写SCOI考到的半平面交,屏幕上的时间终于跳到了五点半,在大家准备离开之际,我下定了决心。

“大家,能等我一下吗?”

Ep22. 春风 (2024.3.1 ~ \infty)

人物表:

milo:高二,OIer。
lhx:高二,OIer。
lsc:高二,OIer。
bot:高二,OIer、机器人。
yhy:高二,OIer。
Ishy:高二,OIer。

qingbai:高一,OIer。

Sp:初三,OIer。
SA:初三,OIer。
cyyh:初三,OIer。
Hch:初三,OIer。
LH:初三,OIer。
Aphrora:初三,OIer。
hzj:初三,OIer。

chery:OI教练。
fire51:OI教练。

tjy:CQYZ直升班总负责人。

Deepskycore:高一,OIer。

我第一次听到《我的一个OIer朋友》是在 2023年的3月底。当时只记住了是一首纪念学长的歌,以及歌词似乎写的很不错。

再一次打开是在4月2日的下午,在清澈的思念和闪耀的希望交织的旋律中,OI生涯的指针转到了最后一个轮回。我几乎在当天就记住了全部歌词,并把 『命运如锁扣,路我代你走』挂在了博客的副标题上。

我无法确定是我一点点地走进了它,还是本来就有意让它为时光做注解。『上下界网络流 增广路费用流 这一步往哪走』也好,『常数优化多小才算够,反演几次答案才能求』也好,一想到还不算遥远的过去的某个时候,有我思念的人也走过同样的路,感动的心情就满溢而出,以至于浏览器都记住了我的习惯,每当我在搜索框里按下字母b,就会带我来到那段旋律存放的小小角落。

发生了无数故事的冬天过去,『春风拂袖暖阳正当空』的季节终于到来。一年前的余音是这个四季最好的见证。

“我要唱歌……”

尽管比锯木头好听不了多少,尽管没有登录B站导致伴奏戛然而止,尽管练了很多次还是在『你为我光荣』破音了,但这次和过去或者未来的任何一次都不一样,无论如何我都要唱完。

到底要多少次听到这个旋律才能不流泪呢?我接过了Sp递来的纸巾,“大家加油……”

又是同样的羽毛球,又是同样的晚上回机房最后再留一会,如果这次也能顺利的话,就把同样的歌唱给学长们也听一遍吧。我想。

在洛谷上发了一条动态:如果这是最后一次,请让我再热爱一次OI。

赛前的早上,我到各个学校的人群里转了转,好久不见的Deepskycore向我介绍了zwh2008。把去年的“A队我们平分,B队各凭本事”还给了nodgd,得到的回复是“不行,这个省队我们要15个”。先不说1/3限制的问题了,你们有十五个人吗?

回到大家的身边拍合影。本来还想让大家把手按在一起喊加油的,犹豫了一下没有提这个想法。

2024年3月2日上午8:30,CQOI2024在CQYZ开赛。

根据我的习惯,前一个小时我是不动键盘的。先看看T1 wind,画了两下发现就是个分类讨论,直接丢掉去看后面的题。

T2 xor 一看数据范围就是Trie树,根据经验这样的题一点一点看部分分肯定对正解没启发,而且暴力和正解之间得分的差距很大。离一个小时还早,要不先想想正解算了。

先讨论一下这个,再讨论一下……,是不是就可以了?

T3 wormhole 是什么?怎么输入只有三个数,输出只有一个数?好诡异,没想法。

我担心如果直接回去写T1就会忘掉刚才讨论的东西,但是T2似乎有些难写,于是定下了写T2写到还剩90分钟如果还写不出来就写T1的策略。

一写就是一个小时。调了一下又特判掉位数不够的情况过掉了第一个样例。好像很顺利。先上个厕所,接下来的任务就是对着样例二一个一个调试了。

又过去了差不多一个小时时间,代码还是没有调出来。这个时候发生了一件我至今无法理解的事情,我的思维像突然被大雾笼罩,某次低头看草稿纸再抬头的过程后,我突然无法理解自己的代码了。

紧张的情绪开始蔓延。我想不清楚自己的程序的正确性,于是只能依赖样例和中间过程输出一点一点调试。我又试图重新捋清自己的思路,但是大脑完全不听指挥,连两个小时之前思路上道的地方都忘记了。

预定的期限已经过去,我还在重复测试样例-找到第一组不正确的输出-丢进计算器转化为二进制-在草稿纸上一点点模拟的低效过程。在还剩一个小时的时候终于意识到似乎来不及了。打开T1之后却发现自己一开始根本没有想清楚所有细节,特别是带绝对值的函数的细节远多于我的想象。按理来说到现在还来得及,但我的思维依然被大雾笼罩。

我想上厕所,但是被拒绝了。

还剩半个小时的时候,我的大脑已经完全宕机,无论我怎样试图重启思考都无济于事。我几乎是一边敲击着不知道是什么的语句一边看着倒计时指向了0。

Ishy走了过来,我扑在他的身上开始痛哭。

怎么会是这样。

他似乎也考的不是很好,我跟在 Ishy 的后面离开了科技楼。一阵眩晕过后,我只剩下了一缕念头:

都结束了……

考场外的小树林里是 lhx、SA、Sp 在聊天。我说不出一句话,只能紧紧地拥抱他们每个人,刚刚收起的眼泪再次溢出眼眶。

yhy走了过来,我说我爆炸了,yhy的反应是“你至少有一半的分吧。”

我自暴自弃地说,我连十分之一的分都没有。

话刚出口我就后悔了,我意识到和三个月前一样,我应该尽力瞒下坏消息的。这样的情绪宣泄只会破坏大家的心态。

yhy看起来气笑了。

没有遇到我最想见的bot,他回家了。据说他考的不错。

下午还有桌游,可是我甚至连再见到大家的勇气都没有了。只是贸然缺席集体活动恐怕会进一步崩掉大家的心态,所以我宣布自己将会推迟到场的时间。

回到家里,我就瘫倒在了地上。妈妈看起来很担心,只是我实在没有心情顾及她的感受了。

她问我午饭后要不要一起打羽毛球。我想了想同意了,但是球拍在机房里。

去拿回球拍的路上,我遇见了此刻我第二不想看见的人——tjy正在从教学楼里走出来,问我考得怎么样。

我说,我爆炸了。

他继续问,往上炸还是往下炸。

是我的表情还不够明显吗,我硬着头皮回答,往下。

他说,还有一天,明天继续加油。

我摆出了一个自信的表情,“我不会放弃希望的。”

趁他还不知道我具体情况赶紧逃走吧……

冲进机房,此刻我最不想看见的人正坐在教室右前方自己的位置上。

他说,我的T2测出来有90。

我实在不想戳穿chery善意的谎言,拿到球拍就又逃走了。

羽毛球打了一个小时左右,勉强有了一点精神,我就去找伙伴们。不知道是不是真的在等待我,大家都没有开始游戏,在桌边聊天。

桌游玩到一半,chery进来说,无论今天发生什么,明天好好考,CQ day1 只有 zdj 和 xk 上了 200。

那这么说,yhy、lhx和 bot 都还在队线上……

回到家里,一旦无事可做我就又开始情绪崩溃。我一直以为自己是一个无限乐观无限阳光的人,但其实并不是,这都是因为OI是我五年以来心中不灭的光辉。

我其实是那么的,那么的脆弱。

妈妈问我,明天还去吗。

我说,去。

至少我依然深爱着和OI有关的一切,结局不应该是这个浑浑噩噩的样子。

要来手机看完了伊斯坦布尔奇迹,多少有点魔怔了。

第二天是早上五点哭醒的。而且根本控制不住自己从而吵醒了妈妈。

被数落了一通,数落之后是妈妈尽全力的开导。虽然这不完全足以抚平我的痛苦,但至少可以让我的精神状态撑过四个半小时了。

早上八点,我最后一次以OIer的身份见到了大家。下次再见的时候我们就无法同行了。想到这里,我又在脸上挂上了自信的笑容,到处宣布要翻盘。

骗别人骗多了自己好像有点信了,趁着难得情绪还稳定看看题。这次任何策略都没有意义了,直接一题一题做吧。

T1 maze 先想到的是二分答案,再DP一下就能求到第一个位置了。

在这里卡住了好久都不知道怎么做,直到我在图上画出了第一次选择的路径,发现它把线段树划分成了 O(\log N) 个小线段树。

那是不是直接分治下去就完了。代码很快就写完了,但是调了半个小时发现假了。

但是好像不是不能修。很快想到了办法,再拿起键盘的时候想到这是OI生涯的最后一题,眼泪又一次溢出眼眶。就不勉强自己了,我趴在桌子上哭了一会。

做法确实是正确的。时间过半的时候,我的代码通过了所有样例。

我隐约感觉到,这道题没有那么简单。如果昨天的一切没有发生,那现在的我应该在庆祝新的未来的第一天吧。

再看看T2 timeline。过了半个小时隐约有了一些想法。现在所有的求证都没有意义了,先写上代码吧。

代码无法通过样例,而且在静态查错之后没有发现问题,那应该是做法假了,只是时间所剩无几,我也想不明白是什么情况没有考虑到了。

那就这样吧。

// CQ-001 cool_milo AFO on 2024/3/3 13:00
// no regret for OI. 

在留下了这样的注释之后,我站了起来,再次和Ishy抱在了一起。不再是OIer的生活需要多久才能习惯呢……?

出场之后抱了一下chery。然后就听到 bot 说他没有调出来D2T1,也退役了。

本来我以为D2T1挺套路的,他应该会擅长的……

在楼下听到lhx报了 375+164+120,yhy报了 335+164+130。是不是听起来 lhx 的分很有机会…… 不管怎么说 CQYZOI 8年以来没有省队的历史终于结束了,如果我还能算作 CQYZOI 的一员的话……

一天半的假期里除去和家人在一起的时间一直在哭,给chery发魔怔的消息说自己是不是如果再菜一点就进了。

chery 则告诉我 yhy 和 lhx 都在民间数据中上了队线。至少这一点能让我略感欣慰……

但心碎的事情还未就此结束。

一天之后我去祝贺yhy和lhx。lhx问我:“为什么day1假赛?”

我为这个最沉重的回旋镖啼笑皆非。原来在考场上,每个人都可能做出各种完全违背理性的选择……

又过了一天,官方数据测完,yhy day1 挂成了 108 退役了。lhx 则确实以 CQ-09 进入了省队。

我试图拥抱 yhy,他则笑着说:“你怎么比我还伤心?”

有趣的是,即使两天的比赛时间都缩短一半,lhx也能得到同样高的分数。初三的一年被迫的荒废一点都没能困扰他,无论是过人的天才也好,永不停歇的勤奋也好,他都配得上班主任在上课上到一半的时候闯进教室,宣布他成为了学校8年以来的第一个OI省队,全班为他起立鼓掌。

我们几个有些对不起直升班的优势的人也都在这之后依次拥抱了他,希望他为我们共同的心愿继续努力。

这个时候距离他在 NOI2024 打铜退役还有4个月。

从来不会划水的他不知道 random_shuffle 是一种过时的方法,被 D1T2 有漏洞的交互库坑害了。但我们四个都是知道的……

一年过去,2025年的3月,qingbai也退役了,我和他在高三教学楼门口相逢。

希望他没有看到我在他背后偷偷抹眼泪,我可是他的学长,尽管对于这个身份,我一直都没有 sword 和 lzy 他们做的那么好……

2025年11月的NOIp2025带走了大部分比我小两届的学弟。留下冲省队的 Hch 在手握巨大优势的情况下 D2T1 perm 挂成了 20。

不过 Deepskycore 则一路披荆斩棘进入了省队,然后是集训队,预选队,国家队。不知道他在乌兹别克斯坦站在 IOI2026 的领奖台上的时候会不会想起 fire 说他是一名很强的选手的那天?

省选的榜单公布之后,我偷偷按了一下计算器。把省队最后一名的标准分换算成 NOIp 400 之后的省选分数,再减去day2的125。

结果是99。如果我想,我根本没有必要打开D1T1之后的题目的。

我对bot说起这件事情,讲完我的计算过程才发现这一切已经没有意义了。

无论这最后一步的距离有多近,曾经触手可及的心愿已经永远无法完成了。

在 WC2024 和我定下重逢的约定的每个人都顺利地来到了 NOI。只是我只能以远方的 rp++ 的形式完成它了。

每个人我都没有漏过。

7年前,我第一次来到CQYZOI的机房的时候,没有最高的天赋,也没有付出最多努力的决心。我只是单纯地既喜欢OI,也喜欢这里。

或许那年的机房里注定会有一名选手拥有闪耀的OI生涯。尽管我从各个角度看都不是最合适的那个人,但是这个机会最后给了我。无论是 AK NOIp、与OI再续前缘、WC Au,还是更早一些的CSP2020最后时刻通过T4,CSP2021卡线一等奖,都是似乎只有梦境里才会出现的场景,却无一例外的在我身上发生。

但其实真正的美好的瞬间不在这些只有我自己能独享的片段中。它藏在QQ群里的聊天记录里,白板上讲题的字迹上,学长们和同学们无私的帮助中,在那些言语再也到达不了的地方,那些才是我OI生涯的全部。

家人在退役之后曾经问过我学OI的理由,我的回答是“证明纯粹的力量”。

我也的确一直是这样做的。

我无法逃避因为自己的过错没有把这些闪耀和美好转化为更好的CQYZOI的责任,但是我已经无法做到更多来弥补。如果一定要有的话,那就希望我高考的成功坚定大家不要轻易放弃的信念。

毕竟,如果现在就放弃了,那怎么知道会不会再遇到更加值得付出的事情呢?

在最后的最后,我将让故事停留在2025年的班级新年晚会上。一年前,我们曾在同一个台上唱过《膜你抄》,但这时我们都不是OIer了。班级的氛围依旧四分五裂,大家都没有报名活动的热情。班长知道我很容易被说服,就鼓动我去唱一首歌。

退役之后一直在徘徊和痛苦中的我想了很久,最后选择了《いつも何度でも(永远同在)》。

道は続いて見えるけれど
即使前路茫茫无尽
この両手は光を抱ける
这双手一定可以拥抱光明

这是一张我们在WC2024期间的合照。但是Ishy缺席了这次盛会。很遗憾我们甚至连一张像样的合照都没有就已经四散天涯。

裾(すそ)が濡(ぬ)れたなら
假如下摆沾湿了的话
乾(かわ)くの待(ま)てばいい
等待干透就行了吧
水音(みずおと)をたてて跳(は)ねた
水滴溅落弹起 滴嗒作响
きみが教(おし)えてくれたんだ もう恐(こわ)くない
是你教会了我不再去害怕
握(にぎ)っていてくれたこの手(て)を離(はな)さなきゃだめだ
但这握紧的手 定有不得不分离的时候

ひとりでもゆくよ 例(たと)え辛(つら)くても
孤身一人亦要前进 哪怕前路艰辛
みんなで見(み)た夢(ゆめ)は 必(かなら)ず持(も)ってくよ
大家一起见证过的梦想 是我旅途的行装
みんなとがいいな みんなとがよかった
多希望和大家在一起 多庆幸和大家在一起
でも目覚(めざ)めた朝(あさ) 誰(だれ)も居(い)ないんだね
可是当眼里射入新一天的晨光 大家已谁也不在身旁

もう振(ふ)り返(かえ)っても誰(だれ)の影(かげ)もない
即使回头望去 也没有大家的踪影
水(みず)たまりだけが光(ひか)った
只有眼前的水洼反射著光芒
生(い)きてくことそれは立(た)ち向(む)かったいくこと
活下去 就是要面对人生的种种
それがわかったなら後(あと)は踏(ふ)み出(だ)す勇気(ゆうき)だけ
悟到这道理后 就只需要迈步向前的勇气

どこまでもゆくよ ここで知(し)ったこと
这里教会了我 无论走向何方 都要踏上旅程
幸(しあわ)せという夢(ゆめ)を叶(かな)えてみせるよ
我一定会实现名为幸福的梦想
みんなと離(はな)れても どんなに遠(とお)くなっても
哪怕与大家分别 哪怕是相隔天涯
新(あたら)しい朝(あさ)に この僕(ぼく)は生(い)きるよ
我也一定会活在新的明天

ひとりでもゆくよ 死(し)にたくなっても
孤身一人亦要前进 哪怕面对死亡
声(こえ)が聞(き)こえるよ 死(し)んではいけないと
我听见有人对我说 不能向死亡低头
例(たと)え辛(つら)くても 闇(やみ)に閉(と)ざされても
哪怕痛苦难耐 就算黑暗笼罩
心(こころ)の奥(おく)には 明(あ)かりが灯(とも)ってるよ
在我内心的深处 也常明着希望之光

巡(めぐ)って流(なが)れて 時(とき)は移(うつ)ろいだ
岁月流转不息 时光静静荡漾
もう何(なに)があったか 思(おも)い出(だ)せないけど
在此经历的往事 虽然都已遗忘
目(め)を閉(と)じてみれば みんなの笑(わら)い声(ごえ)
但只要轻闭双眼 就能听见大家的欢笑
なぜかそれが今(いま)一番(いちばん)の宝物(たからもの)
那不知为何依然是今生最珍贵的宝物

—— 《一番の宝物(最珍贵的宝物)》

\huge{\mathcal{fin.}}