我的 OI 故事(五):四海为家
写在前面:本篇文章是我竞赛回忆录的第五篇,覆盖的时间范围为
2025 年三月至2025 年八月。如果你想了解更多,可以阅读竞赛生涯回忆录《我的 OI 故事》预告。文中出现的人物除已确认同意者外,若有未联系到的相关人员不希望被提及,请私信作者以便及时删改。
提示:文中可能含有一些指向洛谷专栏的链接。若您所在的地区无法访问,可以尝试把后缀 .com.cn 改为 .me 以进入洛谷保存站阅读。
点击这里前往阅读上一篇:我的 OI 故事(四):山城奇遇
壹
文化课培训刚刚结束,一场接一场的模拟赛,如暴风雨般席卷了我的生活。NOI,那个曾经远在天边的梦想,化作了道路前方的一面旗帜。我废寝忘食地训练着;生活的节奏,也随着排行榜上位次的波动不断起伏。
三月底举行了日本的国家队选拔 JOIST,校内队员全部参加了线上公开赛。比赛第一日,我借助拼包的优良传统,拿下了全校第一。只可惜在后续的比赛中,第三日没做明白提交答案题,第四日不会线段树合并,总分差点全校垫底。这样的结果让我哭笑不得,甚至写了篇略带调侃性质的闲话。但是不得不说,这次比赛着实让我学到了不少。令我印象最为深刻的,是第三日的那道提交答案题。在俄国佬 @Katyusha_01 给我讲明正解后,我才发觉先前对于树状数组的认知仅仅是浮于表面:只知道它能用来维护序列操作,却从来没想过它的结构竟具有如此良好的拓展性。
几天后的一个下午,俄国佬拎着一大袋子食品回到了机房。他一边往外掏货,一边兴奋地讲述他的所见所闻。中午出去吃饭时,他无意间看到了附近一家快要倒闭的俄国商店。老板正在进行清仓甩卖,他几乎白捡了满满一麻袋商品。食品的种类也不少:除了形状各异的巧克力糖和水果糖、焦糖风味的速溶咖啡,还有几包速食土豆泥——粉末用开水冲泡后居然能变成土豆泥,倒是头一回见。
那段时间我经常和小学弟 @ムラサメ 去食堂吃饭。我发现把土豆粉拌在杂酱面里,吸饱汤汁后形成的土豆泥会带来类似豌杂的口感,并且风味比传统的豌杂面更胜一筹。我把此事告诉了学弟,他尝试过后觉得颇有道理,便把土豆泥拌面的秘诀传给了机房的其他选手。于是在食堂里面,常常能看到这样的奇观:一群人围坐在一起,其中一人拿着一包土豆粉,依次往每个人的碗里抖进去。大家得到珍贵的土豆粉后,就会立马提起筷子,把碗里的面条搅拌起来;不知道的,还以为是误入了什么部落的神秘仪式。
忙碌的训练之中,大家也在试着寻找一些乐子。某天我突发奇想,叫上学长 zyl 去打台球。他打得十分尽兴;紧接着,和土豆泥拌面一样,机房里不可避免地掀起了一股“台球热”。每周五下午放学后,四位国赛选手(我、zyl、俄国佬和土豆)总是在简单解决晚饭之后直奔台球厅,享受这短暂且难得的娱乐时光。
四月中下旬的时候,我收到了 @jason_sun 发来的讯息。Jason 是重庆市一名出类拔萃的选手,我在 NOI 冬令营时认识了他。他在讯息里说,想找个时间和我一起吃饭,并把冬令营没来得及给我的徽章带来。我简单地调整了日程,便在周五前往重庆万象城赴约。晚饭结束后,我们找到一个露天的观景台闲聊;两人从生活日常聊到竞赛,又从竞赛聊到未来。谁也没有想到,半年之后,他去到美国读书,后来拿了 IOI 金牌。见证他迎来新的人生阶段,并取得傲人的成就,我打心眼里替他感到高兴。
贰
学生们所盼望的五一劳动节越来越近了。遗憾的是,假期与我并没有什么关系:周老师安排育才的国赛选手去往平邑一中,参与山东省的二轮省队集训——而集训的时间完美地覆盖了小长假。
重庆直飞临沂的航班不多,加上假期的影响,我们只订到早上六点的航班:这意味着我在凌晨三点就得起床。俄国佬是寄宿生,他跟学校请了假,头天晚上住到 zyl 家里,方便一早出发。我和 zyl 住在同一个小区,当晚我也溜到他家,蹭了他家一顿晚饭。吃完饭,三个人挤在小阳台上。不知是谁提了一嘴,大家便放下手头上的事情,一同开始唱歌。愉快的歌声如同蜡烛的亮光,顿时照亮了整个屋子。我又回忆起了 NOIP 2022 比赛前的那个夜晚;只不过一起“诵明月之诗,歌窈窕之章”的人,早已不同于往日了。
次日凌晨,三人在楼下与匆匆赶来的土豆会面,打车前往重庆江北机场。到了值机处,怎么也找不到对应的柜台,一看航班信息才察觉坏事了:zyl 妈妈打车时没选对目的地,导致我们被送到了错误的航站楼。幸亏时间预留充分,最终还是有惊无险地赶上了飞机。早上九点左右,飞机在启阳机场落地。
北方的晚春是气候最适宜的时候,明媚的阳光照在身上,也不会觉得炙热。美中不足的是遍地的柳絮:倘若吹来一阵风,这些毛茸茸的小东西便打着旋扬起来。有人称之为“四月飞雪”,只是我还没领会到其中的意境,鼻炎却先找上了门。喷嚏和咳嗽在飞雪的加持下愈发严重,而我们仍然没有找到午饭。附近的饭店几乎都关门了,几人转悠半天,总算是找到一家叫作“白彦羊汤大烧饼”的店。这边的吃食也是从未见过的:上菜前先给一篮子车轮一般大的烧饼。主菜是羊的各种部位,有羊肉、羊肚、羊脸、羊腰子等;羊脸是第一次尝,是用辣椒爆炒的,竟然比羊肉还要鲜美。
山东的另一大特色,是有趣又豪爽的本地人。第一天到机房里面,平邑一中的教练老刘突然把大家叫起来,并一直说着什么“球球”。我没有听懂;问旁边的选手吧,他也没有听明白。后来找个本地人问话,才知道山东人把英文字母 Q 读作“球”;教练是想让大家加入 QQ 群以便接收通知。回程去机场的路上,出租车师傅拐错了路,便开启了导航。目的地是语音输入的,然而识别系统似乎不太完善,他反复讲了几遍“启阳国际机场”,都定位到了其他的地方。师傅许是有些生气,正好遇上等红灯,他把手刹一拉,大喊道:“启阳国际机场!启阳!是启阳,不是西阳!”几句国骂随后跟出来,却鬼使神差地定位成功了。几人坐在后排想发笑,但又不敢笑出声来;于是个个像木偶一样绷着脸,看上去十分滑稽。
集训生活总体来讲还算舒适,更多的细节可以参考游记。比赛打得不知天地为何物,八场比赛总共只过了一个题,赛后还被 hack 了。好在我在其他题目上拿了大量的部分分,成绩不算特别难看。令我印象最为深刻的是一名金牌选手 @Larunatrecy,大概是口味独特,比赛的风格便显得比较令人疑惑。我自然是不会做这些牛鬼蛇神题,听着学长出场后破口大骂,也跟着一起说了几句。后来我在一个 QQ 群组中与这名选手相识,发现他其实是一个非常不错的人。他和我半开玩笑地说,再给他一个机会,明年山东省集再试试他的新题,保证让我耳目一新。我答应了,心里还在想着:到了那时,我的水平应该也能够更进一步吧。
叁
我们有大量模拟赛用作训练,得益于联考集团互相供题的良性循环:每供一场比赛,能练到另外六七场风格各异的比赛。在这样的机制下,光进不出是不行的。每个学校大约每周都得提供一套题目,校内也是轮换着来做事,所以大概每一两个月,我就要负责组织一场比赛。山东省集之后,我立即被安排了组题的任务;这已经是我第三次负责 NOI 模拟赛了。
育才中学之前投稿的部分比赛质量略有不足。有很大一部分参与组题的选手不把这件事当成正经事来做,到了比赛时问题百出,俗称“出锅”。还有人偏爱一些不知所谓的题目,考完之后的一片骂声是无法避免的。冬令营的时候,直接有外校选手找到了我,质问最近的某场模拟赛为何如此糟糕。我感到有些好笑,因为那场比赛的命制完全与我无关;甚至在赛前,我听到风声后极力劝阻负责人三思而后行,可惜没什么用。大抵是外校的同学也只认识我一个人,才找上门来。他说了一通后离去了,那批评母校的话却是格外刺耳。
打那时起,我就开始思考如何命制优质的模拟赛。在那之前市面上许多专业比赛都用 tuack 进行命题工作,我便试着去学习使用方法。由于我的电脑水平一般,光是各种环境的安装,就费了不少工夫。安装完后,我又马不停蹄地学习了 tuack 下的题面、数据配置,前前后后花了一整天,算是掌握了基础的用法。
用工具集渲染出的题面已经十分美观,剩下要做的便是去实践。为了保证选题的质量足够优秀,对于每一道选出来的题,我都会仔细研究背后的解法,以平衡整场比赛的难度与知识点分布。光是四月的比赛,组题团队总共评估了 31 道题目,才敲定最终进入比赛的三道。题面编写与评测工作由我全权负责,一部分题解撰写、生成测试数据的工作则会分给其他成员;有时搬运 ICPC 题目,还需要自行设计子任务或部分分。虽说人的精力是有限的,但是一旦下定决心做事,似乎也没有那么累了。
扭转风评的过程是潜移默化的。这件事情我一直做到了八月;最后一场比赛放出后,收获了广泛的好评。就好像栽花的差事,总是需要经过持续的呵护与漫长的等待。总有一天,曾经连花苞都见不着的植株,也能华丽地绽放,开出满园春色。
肆
山东之旅结束不到一个月,周老师又把四人叫过去,告知我们:六月在广州二中还有一次为期两周的集训。
那就启程去广州走走吧。学校是建在森林之中的,活脱脱一个小型植物园。光是硕果累累的树木便有荔枝树、莲雾树等,还有各色叫不出名字的花卉。学校的中间是一条蜿蜒曲折的大河。若遇上雨天,可以沿着连廊一路走到河上的石桥观景。莲雾树直挺挺地立在河岸边,粉红的莲雾果聚在一起,形成一片雨中彩霞的奇景。若天气放晴,往后绕行能走到升旗广场,抬头便是蓝天白云,与广场旁碧绿的竹海相映成趣。每到休息日,学长留在屋内打电动,而我总是出门赏景;毕竟有这样好景色的学校,在其他地方并不多见。
良好的生态带来的坏处也是显而易见的:虫子很多。最多的是非洲大蜗牛,夜里下一场雨,第二天宿舍外边写着大字的石头就要变个颜色——因为被蜗牛密密麻麻地盖住了。俄国佬自小在北方长大,到广州第一天见到如此之大的蜗牛,满心欢喜地要凑近研究,被我拦住了。对非洲大蜗牛略有了解的人都会知道,这些家伙每一个都是装有大量寄生虫的压缩包。倘若上手去摸,寄生虫即自动解压到皮肤表面,要是没有及时消杀,可能还会钻进脑子里。最后的方案是,他远远地用手指着那只蜗牛,让我给他们拍了一张合影。蜗牛的事情就此作罢。
在广州的第二天,早晨起床我便觉得浑身发冷。哆哆嗦嗦地走到门外,一摸额头才后知后觉地发现,自己已经发了一整夜高烧。
前一天晚上,宿管声称本栋楼并没有饮水机;此刻我的喉咙却快要被烈火烧穿了。我挺着一张比关羽还要红的脸,到学校的商店买水。收银员看着我的状态吓得说不出话,因为我一进门便摇摇晃晃地往角落移去,买下了整整一大箱矿泉水。按理来说,发烧时应是四肢无力,而我搬着一箱水走过了几条大路,又把它从一楼抬上三楼,现在看来仿佛是神迹。
我在网上订购了药品与热水壶,并委托周老师帮我拿到宿舍。尽管服了药,难以忍受的灼热仍在不断吞噬着我的躯体。我试图使用多种方法让自己平静下来,结果发现最有效的居然是聆听古典音乐。具体听了哪些曲子,我已经有些忘却了;只记得当中有贝多芬的《田园》奏鸣曲。读小学时考钢琴十级,我还练过这首曲子。彼时把我折腾得死去活来的音符,如今成了高烧之下镇静心灵的一剂良药。听得久了,便昏昏沉沉地睡过去。
伍
古典音乐听了三四天,我的病痊愈了。我的家长在我病好后赶到了广州,把我接出学校,在外静养了两天才返校。回到宿舍后,我意外地发现,饮水机竟然位于一个不起眼的转角处:从房间出门转个弯便是了。
除了我这位病人之外,其他人的手机都被周老师收走了。大概是集训生活比较单调,三名学长每次回宿舍,都要秘密地拿出一副牌来,他们称之为“德州扑克”。我本以为那牌是山东德州产的,后来才知道是一种玩法;名字也并不来自所谓的“扒鸡之乡”,而是美国的 Texas。
我还在养病时,床上播着优美的古典音乐,床下是不绝于耳的“pia!pia”的动静,伴随着各种奇异的喊声。周老师自然是不准许这样的活动,所以他们总是偷摸着玩。但常在河边走,哪能不湿鞋?没打两天,周老师突击查房,将三位牌友抓了个正着,并把牌收去了。我以为他们不再打了,次日却看到 zyl 又不知从哪摸了一副新的牌出来。追问之下得知,他们在出发之前,从家里拿、从学弟手里借,东拼西凑弄到五副牌,为的就是有备无患。这回他们长了记性;经过讨论,三人决定等到半夜十二点再玩。我并不是很乐意,因为病还没好,半夜这么搞怕是别想睡觉了。俄国佬听后立即保证,整个过程中不会发出较大的声音,我暂且表示同意。事实上他们并没有忍住,十一点半便手痒难耐开始发牌;此时我的眼睛已经闭上,没过多久就进入了梦乡。
不料到了凌晨,巨大的动静吵醒了我。我非常恼火,刚想斥责三人不守约定,再一听却发觉这讲话声音不太寻常。我睡在上铺,把头稍稍一偏,把眯成一条缝的眼睛往外一瞧,瞬间吓了我一激灵:讲话的不是 zyl、俄国佬,更不是平时喊叫声最大的土豆。只见周老师站在房间中央训斥着,三位牌友缩在三个角落,低着头一言不发。我悄悄地把头又转了回去,一点声响都不敢发出——先前都是在办公室听训,在床上倒是真没体验过。果然年轻人入睡就是快,那训话听着听着我又倒头睡着了。
周老师对此非常生气,三名学长又继续研究对策,例如在机房偷偷用电脑打牌。两天后,成都七中的几名学生也来到广二集训。三人像是抓住了救命稻草,每天晚上从机房离开之后,便径直跑去成七学生的寝室打牌。他们原以为这个计划天衣无缝:要是周老师在我们的寝室里没看到人,第二天就说留在机房学习了;要是周老师回到机房,就说在外面散步。
某天周老师来寝室,只看到我在里面刷牙,问我另外三人去哪了。我说他们可能在机房努力学习,老师便离开了。过了一会儿,我准备上床睡觉,外边传来一阵奇怪的响声,这响声又逐渐演变成说话声。我出门往下一看,简直是昨日重现:三人不知何时下了楼,他们靠在楼下的废弃洗衣机上,周老师则站在中央训话。
我有点摸不着头脑,直到三人灰头土脸地回屋,我才从他们的对话中捋清了来龙去脉。
三人在成七寝室打牌时,俄国佬接到了刚从机房回来的周老师的电话。老师问他们在哪里,他们用上了事先准备的话术。接完电话三人盘算着先往寝室外面跑,制造散步的假象。三人万万没想到,周老师搬了把凳子坐在宿舍门口蹲守,就等着他们回寝。俄国佬没看到门口的周老师,率先往外冲出去,被逮了个正着。另外两人本想翻窗出去,但转念一想,同伴都已被捉,整件事情露馅也是迟早的事情,便乖乖出去认错了。
在广州二中的时间里,除了模拟赛和打牌事件,还有两段值得记录的经历。其一是我又听到有人夸赞 JOIST 的题目质量,便尝试去补三月份不会的几个题目。相对简单的几题早已解决,我顺势选了 D1T1 Exhibition 3 作为我模拟赛之外的支线任务。说实话,我短暂的 OI 生涯里,都没做过几个像它一样难的题目:这是一道大型数据结构题,讲课听不懂的时候,我就在下面写这个题。断断续续写了几天,总算是解决了。其二是我认识了一名很有潜力的上海选手 @diandian2020;某天晚自习我们交换了彼此先前的竞赛故事,我由此对上海的竞赛选拔体系有了更为深刻的认知。
国赛前最后一次长期集训结束后,四名选手从岭南的茂密森林,返回了山城之中的大本营——育才中学。
陸
OI 生涯里最重要的赛事进入了一个月倒计时,一些事情却渐渐变得有点古怪。
我打模拟赛的状态越来越差,参赛的时候只感觉困倦、无神。这并不是突然发生的,早在省选之后,我就感到些许力不从心,只以为是拿到国赛名额后有压力,过段时间就好了。
某天模拟赛我又没有解决掉其他人都过了的签到题,尽管我在 T2、T3 上力挽狂澜,拿了一些分数,仍是无济于事。李老师看着成绩表,苦笑着说:“呀,国赛要是打成这样,银牌怕是都有点危险啊!”我并没有把这句话放在心上——国赛怎么可能出成这个样?一个签到题,即使不会正解,也应有不少像样的部分分。再说了,训练这么久了,怎么可能连银牌都拿不到?
离国赛只剩不到两周了,周老师安排我们去绍兴进行最后的冲刺训练。临行前,几名选手在学校参加 UOJ NOI Round,果不其然我又打爆了。第二试取得的两位数分数,则再次唤起了我在 PKUWC 的糟心回忆。
国赛后我回想起这段经历,才发觉一切居然都是有迹可循的。经过仔细分析,我发现造成这种现象的原因有如下几点:
自身原因之一,在于对自己施加的压力。备赛期间,我高估了自身的抗压能力,狂妄地以为扛过最为艰难的初三一年,便不会再有心理问题。我废寝忘食地加训,觉得疲惫时就用“拿到银牌什么都好了”的念头来麻痹自己。模拟赛发挥失误,晚上回租房与父母通电话,他们听到我的咒骂声,总是叫我不要过于在意成绩,而我那时显然没有明白其中的道理。我也经常参加 AtCoder 的 ARC 比赛,然而成绩迟迟没有起色。曾经打上橙名的梦想,在不断下分的过程中显得像痴人说梦。机房里偶尔有人作弊(俗称“开黑”),获得本不属于他们的排名后,再回头甩下一句“你不跟我们开黑,活该下分了”。对此我甚至有过一些极端的想法,但同样被上述念头压了下去。我只能等到晚自习放学,缩在屋里生闷气。
自身原因之二,在于不良的生活习惯。有时候遇到难题了,不服输的劲头常常会让我奋战到凌晨;如果一天下来心情较差,晚上用手机看 QQ 群,同样可能拖到十一点多。次日七点赶到学校参加模拟赛,睡眠质量差,自然也没有精神。每天晚上教练安排选手下楼跑步,我虽然身体素质一般,也拼了命往前冲。本是强身健体的好事,我却全然忽略了睡眠不足的事实。这样的恶性循环,逐渐损害了我的身体健康。
环境原因之一,在于高强度的训练。我们每周要参加四场 NOI 模拟赛;这个频率倒是可以接受,但是学校教练要求,必须把所有题目都补完。这给我带来了巨大的负担:因为客观的能力差距确实存在,所以题是根本补不完的。为了完成补题的任务,有时甚至会囫囵吞枣地阅读题解,反而没有理解清楚真正的原理。假期也是没有的,集训结束当天飞机中午刚落地,傍晚就得赶去机房自习。
环境原因之二,在于诡异的氛围。周老师每天晚上都会把国赛选手叫到办公室训话,主要内容无非是“越努力越幸运”一类的鸡汤。某次训话中,他提出了一个匪夷所思的要求:所有国赛选手必须把每日的做题与比赛记录用黑笔抄写在一个本子上,且不能使用线上博客代替。此外,周老师每周六强制要求所有选手来学校参加 AtCoder 的 ABC 比赛。那一年 ABC 的总体质量并不高,某次比赛出了一道卷积模板题,我在机房唾骂了两句;不料被周老师的监控拍到,我被拉去办公室,挨了一顿痛批。
环境原因之三,在于药物的服用。四月的时候,家长往重庆寄来药物,叫我务必服用,把身体的一些毛病治好。我并不是很想吃那些药,因为服药后竞技状态明显下滑,疾病也没有治好。我多次向家长反映了这个问题,过了一两个月总算是停药了,药物带来的影响却一直持续了下去。
但是不管怎样,NOI 已经迫在眉睫了。无论是否准备好,都得上场了。
“拿到银牌之后,能好好地让曾经看不起自己的人刮目相看,升学压力也会减小很多,或许还能好好休息一会儿。最后两周,咬咬牙就挺过去了呀。”
我确实是这么想的。
柒
出发前几天,我的父母赶来重庆陪伴我。他们从山姆超市购买了食材,让吃了半年食堂的我换了换口味。几天后,我们一同搭乘航班,抵达了浙江绍兴。
NOI 前的集训可以用“糟透了”来形容。集训场所统一订购的午餐出了问题,包括我在内的多名选手都出现了轻度的食物中毒症状。周老师在下午其他选手都回酒店休息的情况下,让育才的六名学生继续留下加练。我提出了没有午睡的问题,他却只是让我往桌上趴一趴。晚上我刚到酒店房间就不由自主地上吐下泻,只觉得自己可真倒霉。
我于国赛后撰写的 NOI 2025 游记 记录了国赛期间的部分经历,这里则会补充其中缺失的一些细节。
报到日当天,绍兴下起了倾盆大雨。父母在校门口送别了我;前往报到处的路上,我回头看了一眼。眼前所见似乎已经不是一条普通的小径,而是铺满了汗水与泪水的来时路。从沿海小城启航,不懈的奋斗、家人的支持与贵人的相助,引领我走进了迷幻山城;见过了平原风光、森林奇景,我终于来到了江南水乡,准备迎接生涯中最为宏大的一场盛宴。
第一试当天早上,前往赛场的路上便有一股倦意袭来。进入场馆后,想睡觉的欲望却一点没有消退。怪了,明明昨晚那么早就上了床,为什么会这样?过掉签到题之后,我开始不停地打哈欠。同时我还有一种不祥的预感,因为剩下的两道题,都是我最不擅长的计数题。我不断尝试让自己清醒过来,但这使得我更加慌张。最终我没有拿到有竞争力的分数,无奈之下,只好把希望寄托于第二试。
听我的朋友说,比赛结束后我如同被抽走了魂魄,一直在无意识地重复着一句话:“我麻烦大了。”
第二试当天早餐时,俄国佬坐在我对面。他叫我不要紧张,说以我的能力,翻盘拿到银牌并不是难事;我姑且相信了这句话。开考后,读到 T2 题面,顿时冷汗直冒。怎么又是带位运算的计数题……怀着忐忑的心情签掉了 T1,做了一会儿 T2,果然没有任何思路。理智告诉我应该去尝试 T3:经过思考,我会了一些部分分的做法,写代码时却一直挂念着无从下手的 T2。混乱的思路与重压之下,我的心态也逐渐崩盘。直到比赛步入尾声,我仍然没有想清楚可以拿到
银牌从手里溜走了,我知道我搞砸了。从那时起,我开始意识到,极致的绝望一共分为两种:第一种是身处无边无际的黑暗,看不到一丝光明,也不知何时能走出去;第二种是明明看到了曙光,却无法把握住它,只能眼睁睁地任由一切被扳回原点。
次日的颁奖典礼,台上的主持人正充满激情地致辞,而台下的我只想赶紧跑路。领完铜牌,我疯了似的飞奔出会场,始终想不通问题到底出在哪了。我拐去小卖部买了一罐咖啡,带到寝室灌两口,竟然流泪了。这个时间点,在明亮的会场里,应该发完金牌了吧。那一瞬间,我的身影仿佛与两年前因 CSP-S 挂分而哭得死去活来的自己重合了。不过,那次是意外之灾,这次则是拼尽全力后,在难以战胜的强敌面前被迫举手投降。
离别的时刻到了,我和学长们再次坐上了回重庆的航班。由于走得太匆忙,我甚至把耳机落在了龙山书院,让它连同所有遗憾,一起被封印在了那个令我爱恨交织的地方。从飞机轮胎离地的那一刻起,我的竞赛生命,终于进入了最后的倒计时。