告别
夏季的梅雨又开始一阵阵地洗去柏油路上本就难以留下脚印。
心底里紧掩的记忆也许会被偶然落入的雨滴溶解。
虽说是篇退役记,但我事实上的退役早在半年前就已经落定了。
这迟来的回忆,即便诉说出来,传之其人,也不过是茶语饭后的消遣。
但我无论如何也不愿让这样的记忆随雨飘摇逝去。
一个学期的文化课,并没有增进我的文笔。即使写出的是篇流水账,终究一笑过之罢。
初遇
那是初一下的年纪了。因为人生的巧缘,有幸结交到了OI。那时的动机是无比的纯粹:因为好玩啊!那时的自己还没有接触到OI功利的一面。一缕阳光投射到桌面上,映照出一片亮色,接过一杯牛奶,一圈圈地将笔杆在手中旋转,将代码题一一破解;更多的时候是打开Pascal蓝色的界面,每个灵动的字母,美妙到可以摄人心弦。那时的自己崇尚着无比优良的码风:在层层嵌套的Begin-End中使用一格缩进。那时的我无师自通学会了何为压行。
后来就听说,OI还有比赛。在初二上的时候,就可以参加NOIP的普及组了。于是听说考完初赛之后湖州市还会评奖,说不定还能帮助考考湖创班,而一等奖分数线还不到复赛入围分数线……
我倒是对那个初赛没有太大兴趣:创造自己的代码才是OI的乐趣所在。但初赛必经是一块不得不过的绊脚石。早些年的初赛题目还非常简单,普及组的分数线往往能高上90,而一题八分的看程序写结果对我这种粗心汉是个致命打击,这使我不得不提心吊胆地准备了一个月,还信誓旦旦地宣称:让我过初赛,我就能拿省一。
结果初赛还是遭到了重击:某道看程序写结果的每个数字后面都要带上一个逗号,而审题的门外汉自是发现不了。
后来估分大概是87左右,通过复查大概是又加了两分。不过87也好,89也罢,总是有惊无险地从复赛分数线上跨了过去。
于是有幸走进了NOIP2016普及组的考场。
第一次接触这样的比赛,自然是紧张又激动。所幸开局还算顺利,两个小时干完了前三题,于是算计着第四题拿个60分便足够。
稍作思考,便直奔主题。洋洋洒洒百行代码,从键盘流溢到屏幕。半个小时过后,便是调试的环节。精通单步调试的我紧盯着下方小小的弹框,一行行模拟下变量的运算,却只觉得和答案越行越远。到最后十五分钟,干脆在层层修改中删掉了不知哪个版本,连代码也一去不复返了。这时我才醒悟过来最简单的暴力还没有码,于是又开始一阵狂敲……可惜考试结束的铃声响起,宣告了我这十五分钟挣扎的徒劳。
那年,我270,一等奖300。而第四题完全不需要脑子的暴力,刚好30分。
走进学军
虽说NOIP只混了个二等奖,但在OI完全没有普及的湖州,似乎也有个第二名。于是就当借了个敲门砖,在初二寒假去湖创班考试混了个脸熟,结果当然是惨败而归。接着就暂且淡褪了OI,转而攻向数学,为省招考试做准备。
那年学军考试似乎来得特别早。一本科学甬真还是空白的我,不知道怎么就成了学军的一员。他们问我要选什么竞赛,我就说:“要么数学,要么信息吧。”
于是姚琪老师告诉我,如果学数学,几何一定要拿下。联赛第一题,是很多人的鬼门关。
我想想,确实有理。于是回去狠刷了初数联的几何题,然后就毅然投了信息。
初三的懵懂
怀着一腔热血,走进机房,打开Vjudge的比赛页面,在第一次参加517比赛中就斩获了倒一。
可是初二的暑假,该快乐还是要快乐啊。刚来那年,宿舍的门还是那种木门,中间也没有可以一窥室内的玻璃。暑假的时候大伯也不怎么管,于是就有了我第一次自己洗衣服洗到凌晨一点多。大概是倒了好多好多洗衣粉,然后把衣服一次次冲洗,再拧出里面的水,结果还是看到一圈圈的泡泡从里面冒出。那段时间浴室还在装修,洗澡的时候必须把手机带进去当手电筒,不然出来裤子都不知道哪面是正的……
那个暑假我和另外一名张姓室友一个寝室。两个人似乎从见面开始就很合得来。第一次见到他那天我回去的挺晚,后面还被调侃:“看到你桌子上那么多吃的,还以为跟我寝室的是一个大胖子”。结果相处了几天才发现,我是个“家长给送了一大堆水果以至于不得不吃水果当早饭防止它们烂掉”的人。
那时候晚上旭源小吃晚上还有在卖烧烤。我和张同学还不知道旭源往学军宿舍的院子凿了个洞,甚至于晚上快关门了就翻那个宿舍的小门出去买烧烤。有次关门之后翻进宿舍的院子,殊不知院子到寝室的那个门也关了。结果两人抄起一架施工的梯子,硬是爬上了没有防盗窗的二楼进了寝室。我敲开那扇窗时里面同学惊异的表情十足令人回味。后来又听说第二天便有人如法炮制,又从那扇窗翻上两个……
还有次517组织讲课,大概是出于想挑战一下的心理选到了Matrix-Tree定理。晚上和吴同学,后来人送外号“Lyric”的家伙连夜学线代、看证明,忙忙碌碌搞到了凌晨两点多。
最快乐的一次是暑假集训结束前最后一天四个人聚在一起打扑克,看到外面天亮了大家把牌一收各自回寝室睡觉去……
初三的年纪,有梦想,但觉得路途还很遥远;有追求,但不免禁不住颓废的诱惑;有计划,却往往在浑浑噩噩中度过了一天;有过无限可能,却让机会从手里白白流逝。
可幸运的是,我在机房混到了一个第一排的位置。虽说并没有老师来上课,但后排的几十双眼睛毕竟让打游戏显得不是那么心安理得。
在刚到学军的几个月中,眼镜度数和OI水平一路突飞猛进。自信心也随之开始爆棚,还听受了xy“初三提高一等奖的同学我们都又信心弄进清北去”的鼓舞(蛊惑),加入到冲击提高一等奖的队伍来。
期间又发生过几件趣事。
先是暑假一次开空调,突然一阵恶臭滚滚而来。大家都捏住鼻子竞相逃散。连忙把空调的开关关掉之后打开机箱检查,从里面扫出来一只死老鼠。
于是机房就颁布了“禁食令”,所有食物和有色饮料一律不准带入机房,理由是要饿死老鼠。
再接着就有了我的多肉突然有一天少了几片叶子,再过几天突然被连根拔起……
准备联赛那段时间我特别喜欢玩弄zzf的仙人掌。在我的多肉遭受戕害之后,经常把他的仙人掌拨过来拨过去。结果有一天仙人掌的茎部缺了个大洞,他们一致认为是仙人掌遭受了我的荼毒,我倒窃以为是这是老鼠的功绩。
再就是时常有的联赛模拟题了。一开始甚至不会对拍,一道题代码码完过了样例就不管。而难题往往不太能做出,但总要花上两个多小时的时间尽己所能尝试一下。于是我挂题的频率达到了极点,甚至于爆零也出现过好几次。
虽然总有各种挂题、垫底的烦恼,但在机房和谐欢乐的氛围中,每天醒来似乎都对一天充满了期待。我也慢慢地开始补补联赛训练题,学会借助网上的博客学习各种新奇的知识点。在比赛将要结束的几秒倒计时后,祈祷的眼神前“Accepted”的字样渐渐多了起来,也逐渐明白了写暴力写对拍保证得分率的重要性,但总难免在刷新页面后看到自己两个小时的心血换来回应“Wrong Answer 0分”后,一阵怅然若失。但就算如此,在仓促地吃过午饭过后也能重新收拾起心情,将残碎的代码调好,再默默地期待明天的自己能够多做对一道题。
快乐的时光一纵即逝,经过历练后的我又来到了NOIP2017提高组初赛的考场。
这时候走进考场,完全没有前一年的忐忑了。因为知道自己的实力非去年可比,自己的梦想也不再是去年的小框。
可然后呢,初赛考了六十多分,倒在了走进OI殿堂的第一个门槛。
那是什么心情呢,大概自己已是记不清楚了。只是心里会默默地想:“从小到大一次次数学竞赛从未有过失误的我,为什么两次信竞比赛都是惨败告终呢?”
复赛那天,平时熙攘的一间机房,两个年级只剩下约莫十个人。
第一天,整个人漫不经心地敲敲键盘,时间似乎凝滞着不肯逝去。到了晚上,开始联机漫不经心地打了会MC就算是熬过了一天。那次,是我第一次在机房打游戏。
楼外的一天,是阳光明媚后的明月朗照。清风徐徐吹散夏日的暑期,也最终摇下心里的落叶。
第二天,机房组织做了NOIP场外赛。两天的题目压在了一天做,加起来考了七个小时。晚上测出来约莫是480的样子,一等奖分数线倒是有的。
去参加现场赛的同学晚上也回来了。看着他们开始几家欢喜几家愁的时候,我不知自己该何处安放。
后面就去了严州。那地方,也没什么写的必要罢。
大概就是多少同学正徜徉在自由的天地,而联赛的警钟又如何在我心里长鸣。
初出茅庐
更早更早以前我是很喜欢雨的。尤其喜欢的,是秋雨。当秋雨将枯败的叶打落的时候,披上外套,一辆自行车会向我诉说这些生命曾经的灿烂。可当他们零落时,即便是再有心的路人,也无法以怜悯之心绕过铺得如地毯般的枯叶。而我作为骑手,自然也只能放慢速度,小心地从这片曾经的灿烂上方碾去。这时便会想着,即便是只有十几岁的我,心里的丝丝愁绪不也和老树一般吗。永远徘徊在得失之间。可以用自己的努力得到一切,那些逝去却又永远无法挽留。每当有些苦闷的时候,骑行在被人精心雕琢过的行道之间,让泪水被雨水带去,最后总能解开心结。
秋雨再一次打下,这预示着,又一年的联赛季来了。
于是就有段日子,如何如何地开始睡不好觉了。
一躺在床上,脑子里就开始滚过种种念头。初赛还剩几天?那道题明天还要写多久?动态规划要不要再练一轮?还是板切一下AGC?今天本来想做的事情是不是又没做完?更多的,还是在对未来的憧憬中准确捕捉到自己其实还远远没有做好心理准备,但是该来的就要来了。
初赛,90出头,稳稳得踩了过去。
复赛,NOIP2018,509分,第二天T3挂了8分暴力,讽刺的是我Day2只有这8分写了对拍。
后面听说ccf冬令营510分稳进,509随机。于是无缘了这场盛宴。
509倒是完全够PKU冬令营的分数线。于是跑过去碰了碰运气。
Day1和数学都考得一塌糊涂。Day2在硬刚了两个多小时T1之后弃疗去写T2的暴力,写完暴力突然发现T2会做了,结果48+100+0=148获得了学军的最高分,于是有幸拿到了PKU的一等约。
只是那时突然听说,发的是一等,而不是一本了。
说是教育部的政策变了。至于究竟有什么优惠还等政策。
对于那时沉浸在喜悦中的我,自然是当做没听见一笑了之了。
彷徨
冬令营之后,大概是我高中最彷徨的一个学期了 。
芝诺曾经用一个圆来比喻自己的知识。圆内是自己的所知。圆越大,面积越大,知识也更渊博;但圆越大,周长也越大,与圆外那无尽的未知交触也越多。
那个曾经狂傲的小伙子也终于明白,自己的智力也终究是有限的,他似乎并不是一块冲击集训队的好材料。可是,那微茫的希望在远方又如此闪耀,似乎再向他诉说着走进那个机房时最初的理想。
后来想想,我好像好久没有捧起过一本书拜读过了。于是每天晚上九点多便到寝室读上一个多小时的书。除了《活着》实在是不知如何欣赏之外,《追风筝的人》和《三体》确乎给我带来许多精神上的丰足。
在之后,就抱着碰运气的心态又上了省选的考场。Day1T2想了一个60分的算法,可惜头脑发热愣是调不出来。考完之后照着原来的思路又写了一遍,然后就发现稍加优化便可以得到100分的算法。至于另外两道题,实在是火候没到,技不如人。
Day2的部分分给得出奇地多,以至于我从开场写暴力写到结束也写出了一个能看的分数。
后面又是CTS和APIO了。这CTS本来叫CTSC,即中国国家队选拔赛。CCF把最后这个“Competition”去掉,就不是“赛”,可以收费了2333。
让人气愤的是这个APIO。拿到题目之后看到T1、T3两道数据结构,T2似乎是道神仙数论题于是弃掉了。想想APIO机子应该跑得挺快,就勇了一发写了个O(n(logn)^2)过掉了T3。T1感觉在浙大做过很像的题,于是以为是大家都会的原题,想了好久还是不会做。最后留了一个小时狂码T2的暴力混了大概20分。
结果出了考场才知道,T2签到题,是个人都过穿了,T3 30万两只log没人敢写通过的人并不多。T1并不是原题,也远没有到人人会做的地步。
更气的是,我T2把两档部分分的思路并在一起,就是正解了,就是当时弃疗了没有往下想。
更气的是,T2除了正解之外好拿的部分分只有20出头,T3不需要脑子的分就有60……
发奖的时候金牌线203,全场都是203,203的人数比银牌总人数还多……
比较有趣的是PKU的夏令营。Day1一波操作猛如虎砍了300分,zlh大概190左右;结果zlh Day2考了248吊打全场,我打出惊爆低分55。后面是zlh拿到了一等约,而我感觉我第二天考不考似乎都是一个二等约……
高二之后
高二之后开始意识到,OI还能陪伴我的时间似乎越来越少了。于是又开始在机房延熄,备战又一年的联赛。
这其中比较有意思的事情,大概是出题啦。
虽然窃以为三道题目质量还行,但题目只是个陪衬,重要的是题目背景可以快乐地D快乐的小马(wzy)啊。
在马群中,大马的久久注视着小马.
那快乐的神态,曼妙的身材和矫健的步伐已经深深印在大马的心里.
在长久的犹豫之后,大马决定用自己优秀的射击技巧得到小马的注目.
射击场上有 \(n\) 只气球排成一排,大马会进行 \(m\) 次射击.
为了展现自己的射击技巧,大马每次会请小马选定一个气球 \(x_i\), 如果第 \(x_i\) 个气球没有被打破, 就会打破第 \(x_i\) 个气球, 否则,大马会随机选择左边或右边第一个没有被打破的气球进行射击(如果一边已经没有气球了,大马一定会射击另一边的气球).
但是,小马的目光并没有投向大马.它在思考:如果大马每次射击都保证击中,最后气球有多少种可能的被打破的状态呢?
大马的心在滴血.它决定请你帮它回答这个问题.
两种状态不同,当且仅当一个气球在一个状态中被打破,在另一个状态中没有被打破.
答案模 \(998244353\) 输出.
(好吧如果有学长学姐看的话我承认第一题是原题)
Lover lover
****** ******
Lover
Milo obichash li me oshte
点歌人: Bartholomew
(熟练的 OI 选手应该能在一秒钟内脑补出画面)
熟悉而悠扬的旋律使大马重新燃起了 $ \textbf {hope} $ .
它意识到, 强健的体魄,高超的射击技巧都不是帮助它驰骋的利器.为了获得小马的欢心,它开始学习数学.最近它在研究这样一个问题:
给定一棵 \(n\) 个节点的树,一开始树上所有节点都是黑色.它需要依次完成小马的 \(q\) 次操作,操作都是以下两者之一.
- 小马选择一个节点 \(x\) ,以 \(p\) 的概率将点 \(x\) 和所有相邻节点同时染成白色,以 \(1 - p\) 的概率将点 \(x\) 和所有相邻节点同时染成黑色
- 小马询问大马, 当前白色节点个数的方差是多少.
答案模 \(998244353\) 输出.
凭借大马超凡的天赋,它很快就 稳操胜券 ,成为远近闻名的马学大师.
作为马学大师,大马常常和小马进行学术讨论.讨论的内容往往能够突破马识的边界,特别是令众马闻风丧胆的微元问题和表达式问题.他们现在在表达式问题上产生了分歧.为了验证彼此的猜想,他们要对大量的表达式进行检验,具体可以抽象为:
不过后面的联赛好像就有点惨惨啦。Day1少开一个long long加上合并Subtask的时候出了差错爆掉30分,Day2沉迷于写T2的最后12分导致T3的暴力没有写完。
之后就是政生化技四门学考了。虽说猛搞了一个多月之后都混到了A,但期末考确乎是爆炸得不成样子。
期末考完又被拉回机房训练。这时候就听说约可能会作废了,后面又听说自招被取消,那些可能转入强基云云,总之搅得人心烦。
只是最后横下心还是把OI搞到底。春节回去也没有带走寝室的床铺,想着要不了一周又要回来了。
结果一去,就是三个月之久啊。
最后一战
力拔山兮气盖世,时不利兮骓不逝
一场疫情,总算是冲破了我的最后一道防线。它要把我关在家里两三个月之久。最后只得下定决心,回归文化课的怀抱了。
只是,睡不着的日子,似乎又一天天地多了起来。
走路时会刻意地绕开科学馆,回忆起从前作为OIer的过往时心脏会跳得沉重起来,甚至有时想想自己的退役记怎么写也能让我辗转难眠。
似乎对“省选”这两个字眼特别敏感起来。大概总觉得自己像是逃兵一样逃离了自己本应奔赴的战场。
曾经想过,如果一名OIer连全国决赛都不能有幸参加一次,如何拍拍胸脯炫耀自己曾是一名竞赛生呢。
曾经有过,学长一次次地向我寄予希望,祝福我的好运,鼓励我的努力。
当我投身到文化课里面去后,这些事情也就暂且抛却脑后了。只是,在一个个辗转的黑夜,我似乎还是会挂念,那个科技馆五楼凹凸的地板,那会扫出老鼠的空调,那Emacs上跳动的光标。
四年的时间里,我从一个好奇的小孩成长到如今有些老练的OIer,学会了怎么在赛场上分配时间,学会了怎样写出具有可读性的代码,学会了很多精妙绝伦的算法,经受了一次次比赛的考验,无数次体会到过山车般的起起落落。
可我还是没有学会,如何留住我悄悄逝去的初心,如同以前就留不下的种种。
及其所之既倦,情随事迁,感慨系之矣。向之所欣,俯仰之间,已为陈迹,犹不能不以之兴怀
后来,在种种原因下,终于还是报名了省选。
前一天的晚上,xy那久违的温和的笑容,似乎又让我见到了初二那年,站在他办公室门口的忐忑的自己。
第一天考完的夜晚,被夏雨淋湿的我,似乎又回到了那个在重重雨巷中穿梭,展开双臂拥向暴雨的自己。
第二天考完,再收拾起自己的行装走回教室。只是感觉,这一切的结束,让我心里,无比宁静。
尾声
政治书上有这么一个有趣的小故事:
诡辩家欧布里德向朋友借钱后,一直拖着不还,朋友只好前去讨债,没想到欧布里德却说:“一切皆流,一切皆变,借钱的我是过去的我,过去的我不是现在的我,您要讨债就向过去的我讨吧!”朋友被他的诡辩激怒了,便狠狠地揍了他。欧布里德要告他,朋友便说:“揍你的我是过去的我,过去的我不是现在的我,你要告就去告过去的我吧!”
后来,我也不由得会想想,过去的自己和未来的自己,是两个怎样的个体呢,还是本应融为一体呢?
也就是说,现在的自己,是不是理应向未来的自己负责呢?
更残酷一点,现在的自己,是不是理应回应过去的自己的期待呢?
未来的自己,是不是还应该保有过去天真的幻想呢?
还是说,人终究就会长大,长大成自己曾经所讨厌的模样呢?
成为那个,承认自己的平庸,承认自己的慵懒,承认自己在时代中漂流的人。
如果果真这样,能不能让我,再任性一下。