目录
- 序|《重逢》
- 风来|《汽水》《弦月》《空位》
- 风渐|《远行》《细线》
- 风去|《星位》《小满》
- 尾|《风来,风渐,风去》
序
重逢
2025 年,我重新打开了 Luogu。
距离上一次登录,好像已经三年了。旧账号还在,过去留下的题单、笔记,还有提交记录也都还在,只是我没想到,当初一次没有说出口的再见,会在三年后,变成一次重逢。
我自幼便喜欢摆弄电脑,初中偶然间加入 C++ 编程社团后,每周三下午的活动课,我总会迫不及待地溜进机房。那时学的不过是一些简单的语法,却第一次让我看见,屏幕背后还有一个可以被理解、被创造的世界。
初二末,整理书柜时,我翻出了一本落满灰尘的教材,又想起了 OI。距离 CSP-J 只剩不到一个月,我怔了怔,决定暂时放下原来的准备,挤出零散的时间补算法,最后侥幸通过初赛,去了学军中学。
在那里,许多人谈论着我几乎听不懂的东西,我第一次知道,这条路原来可以走得那么远,也第一次清楚地看见自己与他们之间的距离。
中考后的暑假,我几乎把所有时间都交给了算法的学习,没有人催促,也没有什么必须完成的目标,我只是想继续学下去。那是我记忆里少有的一段,不必向任何人解释为什么坐在电脑前的日子。
后来进入高中,老师告诉我,学校没有竞赛班,也没有校队,继续参赛几乎没有条件。那天我没有说什么,只是关掉电脑,离开机房,把机房钥匙放在老师的办公桌上。
那把钥匙原本经常装在我的口袋里,放下它时,我以为自己只是暂时离开,可此后的三年,我再也没有打开 Luogu,也不愿触碰算法,那些没有做完的题、没有继续走下去的路,被我一起留在了那间机房里。
大学以后,我偶然得知了学校集训队的存在。
军训期间,我重新在 OJ 上写题,一点点找回语法、思路和手感,许多曾经熟悉的东西已经生疏,许多从前没有真正理解的东西,却在这时慢慢显出了轮廓。
大约一个月后,我终于再次点开了 Luogu。
旧账号还在,题单、笔记和提交记录,都停在三年前。
我一页页往下翻,最后,点开一道题,从头读起……
风来
汽水
今天路过便利店,一眼就看到了那种老式玻璃瓶装的橙子汽水,随手拿起一瓶去结账,扫码时才发现,价格已经涨到了六块。
我盯着价格标签看了好一会儿,脑海中最先蹦出来的却是三块钱,三枚硬币躺在手心里,被夏天的热气慢慢捂湿。
只是现在,我已经有些分不清,那三枚硬币究竟真的在我手中硌过,还是从一首歌里滚出来,在我的记忆里停留得太久了。
我确实用过那样的按键手机,屏幕很小,按键很硬,打一个字常常要在同一个键上按好几次,用的还是如今已经很少再碰的九键输入法。那时候一块钱可以发十条短信,每一次按下发送,都知道这条消息有一个明确的价格。
所以一条消息总要写得很慢,很慢。打出来,读一遍,删掉几个字,再重新输入。少年的纠结啊,其实未必是什么重要的话,也许只是问一句“在干嘛?”,或者把白天发生的一件小事讲给另一个人听。
三块钱可以买一瓶汽水,也可以发三十条短信。
天气很热,而冰凉的汽水就在眼前,手中被捂湿的三枚硬币不自觉地流到了老板的收银台上,至于那些没说完的话,好像总可以留到第二天。
只是第二天后面还有第二天,那时没人会觉得,时间也是需要节省的东西。
后来手机换了一部又一部,QQ 和微信占据了短信的位置,讯息不再按条计费,输入法也变成了熟悉的二十六键,一句话很快就能打完,可好像少了点什么。
那间卖汽水的书报亭已经不在了,变成了一座交通亭,偶尔会有指挥交通的叔叔值班,那条路也修成了柏油马路,车流从上面经过,带来了风,也带走了我的记忆。
我拿着汽水走出便利店,拧开瓶盖,气泡一瞬间涌到了瓶口。它和记忆里的味道不太一样,比我想象中更甜,也更普通,喝到最后,瓶底只剩下一点已经没有气的糖水。
我把空瓶拿在手中,走到十字路口,那个位置,绿灯正好亮起。
“你好,你还在吗?”
弦月
你见过月光下的蝴蝶吗?
记忆里上一次见到,好像还是小时候的生日。那时候,一只蝴蝶停驻在花朵上,清冷的月光落在它的翅膀上,在那一瞬间,它显得那样渺小,却又那样伟大。
今晚的月亮也很亮,它悬在夜空中,充盈、从容,仿佛没有缺口,也有着永远用不完的光。
看着它,我却感到一种说不出的乏力。
它像一个太过圆满的理想,安静地悬在那里。我的电量好像只剩下了百分之二十,可我想做的事情还有好多好多,低头看看双手,却只剩下一点微弱的光。在这样的月亮下面,这一点热爱显得很小,也很迟缓。
我忽然想起一句话:花知道自己什么时候会开,却不知道蝴蝶什么时候会来。
它在深夜里打开花瓣,释放香气,却不知道蝴蝶是否正在赶来的路上,也不知道自己会不会在那之前凋谢。如果按照数学期望来计算,这大概不算是一件划算的事,没有确定的结果,也未必有人看见。
可花还是开了,头顶的星星也一样。
它们在几百光年外燃烧,把光扔进虚空,那束光要走很久很久,久到恒星自己可能都熄灭了,久到沧海都变成了桑田。
它们不知道这束光能不能到达地球,不知道有没有人会在今晚抬头,更不知道接收到这束光的人,心里是不是正下着一场大雨。
可光已经出发了。
月亮也并不总是圆的,更多时候,它只是夜空中一道窄窄的弧,光很薄,也照不亮太远的地方,可弦月仍然亮着。
我不必成为今晚的月亮,有多少光,就先递出多少。
窗外的花被风吹得轻轻晃了一下,月光落在花瓣上。
今晚没有蝴蝶,它仍然开着。
空位
你好呀。
准备写这封信的时候,窗外正吹着十二月的冬风。不知道你所在的城市,是不是一样冷呢?
我已经习惯了一个人生活。一个人吃饭,一个人赶路,一个人处理那些琐碎而寻常的事情。
大多数时候,这样也很好,像一只轻便的小船,方向握在自己手里,想去哪里,便往哪里划,随遇而安。
只是风大起来的时候,我偶尔会发现,船上原来有两个位置。
船并不会因此沉下去,只是风浪经过时,我总要多用一点力气,才能让它不再摇晃。
有时我会想,如果有人坐在对面,什么也不必做,船身或许就会安稳一点。
原来一个人的存在,本身就有重量。
我想,我开始期待你的出现了。
我不知道你会从哪里来,也不知道你是否愿意登上这只船。
也许你还在很远的地方,也许我们已经在某段水面上擦肩而过,只是彼此都没有认出来。
路途遥远,你可以慢慢走,别着急。
祝你,也祝我们,早日相见。
在你到来以前,我会继续划。
风吹过来,空着的座位轻轻晃了一下。
船桨落进水中,我们又往前走了一段。
风渐
远行
去年冬天写下愿望的时候,我并没有想到,它会在这个春天兑现。四月末,我踏上了去河南南阳的列车。
从早上十点半出发,一路坐到夜晚。中途在南京换乘时,我看见好几组三人同行的小队,他们背着电脑包,脚步匆匆,大概也正要去往同一个地方。
那一刻有种奇妙的感觉,来自不同城市、不同学校的人,沿着各自的轨道出发,最后将在同一间赛场里相遇。
晚上抵达南阳,志愿者已经等在车站,接驳车把我们送到酒店,窗外的街道不断向后退去,我忽然意识到,这次真的走得很远。
第二天是开幕式和热身赛。
直到开幕式上我才知道,十年前,第一届 CCPC Final 就是在这里举办的,如今又回到南阳,就像是绕了很远的一圈,又重新回到故事开始的地方。
对赛事来说,这是一次重返;对我来说,却是第一次抵达。
下午的热身赛很快把这种仪式感拉回了现实,四道题,几乎把我们的问题一件件摆了出来:读错题意,忘记开 long long,正着和反着贪心得出不同的结果,还有交互题里漏掉的 endl。
比赛结束后,我回到酒店,临时翻出数论笔记,把一些公式重新推了一遍,后来正式赛一道也没有用上,可赛前的人,总要抓住一点什么,才能让自己安心。
正式赛的早晨,我从醒来以后就一直紧张,坐到电脑前时,脑子里甚至只剩下一个念头:千万不要连第一题都做不出来。
开赛后,我们很快知道 K 是签到题,便立刻开始写,前两版贪心都有问题,提交框里的罚时一点点增加。我们反复讨论、推翻、重写,最后改完第三版思路时,大概已经开赛一个小时了。
AC。
我长长地松了一口气,至少第一道门已经推开了。
之后,我们在 L 和 G 之间来回切换,L 看起来像线性基,可题目中“本质不同”的定义始终没有真正理清;G 的数据范围是 ,我几乎立刻排除了二维 DP,转向分类讨论和模拟。
我们在 G 上写了很久,代码却越铺越乱,时间一点点减少,直到最后一分钟,它仍然没能提交出去。
比赛进入后半段以后,疲惫也慢慢追了上来,也许是起得太早,也许是红牛喝得太早,又或许只是大脑已经运转了太久。我坐在那里,看着倒计时继续向前,知道自己还应该再想些什么,思维却不再像开场时那样清晰。
直到比赛结束,我才终于松开那口一直提着的气,赛后听题解时才知道,G 的正解偏偏就是我们最早排除的 DP。
没有最后时刻的翻盘,也没有传奇般的结局,那份没来得及提交的代码留在了赛场里,我们也没有再多解出一道题。
抬头看向四周,许多队伍的脸上都带着相似的疲惫,原来站在这样的赛场上,所有人都在同时面对题目、时间、判断,以及逐渐失去锋利的自己。
走出场馆以后,校园里正是春天,花坛里开着大片红花,草地被阳光照得很亮,风从校园里穿过去,花和树叶一起轻轻晃动。
刚才还塞满题目和代码的世界,忽然变得很宽,我站在那里,看了好一会儿。
从河南回来的路上,我很平静,结果不算圆满,那道没有提交的题仍然留在那里,我们与更远处的队伍之间,也还有很长的距离。
我见过更大的赛场,也在比赛结束以后,见过一阵风穿过盛开的花。
而我带着春天回来了。
细线
我一直以为,自己对世界的热爱,是一种天性。
我喜欢风,喜欢花开,喜欢月亮,也喜欢那些转瞬即逝却亮得惊人的时刻。路过便利店时,看见冰柜里摆着一排熟悉的橙子汽水,瓶身上凝着很薄的一层水雾,我会突然想起很多年前的夏天。傍晚从教学楼出来,看到路灯打在某棵树上,影子细碎地落了一地,我也会莫名其妙地停下来。某天晚上抬头,发现月亮亮得有些不像话,又会觉得,今天好像也不是完全不值得被记住。
这些瞬间其实都很小,小到如果不写下来,它们很快就会被生活冲走,像路边一片被风卷起来的落叶,转了个身,就再也找不到了。
可我后来才发现,我好像就是靠这些小东西,一点点把自己捡回来的。
有一段时间,却不是这样的。那段时间里,风还是风,花还是花,月亮也还是那个月亮,可我触碰不到它们。不是它们消失了,是我和它们之间,隔了一层很薄、很透明,却怎么也穿不过去的东西。我知道自己应该有感觉,应该被触动,应该像以前一样停下来看一看,可我的身体给不出回应。
那段时间里,世界仍然在运转,只是我不在其中。
后来我是怎么回来的,我说不清楚,没有某一个决定性的事件,也没有一个戏剧性的转折,更像是一些很小的瞬间,如同汽水里慢慢升起的气泡,一个接一个地,轻轻碰了我一下。
就像某天傍晚,风突然吹过来,而我发现自己竟然感觉到了,那个瞬间很轻,轻到我差点错过它,但我没有。
后来我开始认真地记录这些瞬间,不是刻意为之,而是像一种本能。我会停下来看一棵树,会记录偶尔见到的花,会把一场不算圆满的远行写下来。我不知道这些事有什么意义,只知道在做这些事情的时候,我好像重新在和这个世界说话。
它听不听得见,我不知道,但我能感觉到,那条我以为早就断掉的线,其实一直都还在,只是太细了,细到我差点以为它不存在。
现在回想起来,我走过的路,好像一直都被这些轻飘飘的东西牵着,一阵晚风,一棵被路灯照亮的树,一句刚好被回应的话。它们单独看都太轻了,轻到不像能承担什么意义,可很多时候,偏偏就是这些东西,会在某个普通到不能再普通的瞬间,轻轻拽我一下。
于是我才忽然意识到,原来我还在这里。
我写春天,写远行,写月亮,写汽水,写那些没有落到实处的心动,表面上看,它们好像没有什么关系,可它们在我这里,又确实不是散的,它们只是从不同的地方伸出来,最后都轻轻碰到了同一个我。
有时候我也会怀疑,这些微弱的反应到底算不算热爱,它们没有那么明亮,也没有那么笃定,更多时候只是心里很小的一下晃动,就像夜里抬头看见月亮,又或是一阵风吹过袖口。那一瞬间,我并没有想明白什么,只是忽然觉得,自己还可以再站一会儿。
后来我渐渐不再急着追问了,如果一瓶汽水还能让我想起夏天,如果一阵风还能让我回头,如果某个夜晚的月亮还能让我停下来,那么也许,有些东西就还没有完全离开。
我重新抬头看月亮,重新走进春天,也重新打开那些以为再也不会打开的页面,花开,并不一定要等到蝴蝶。
风从窗外吹进来,桌上的纸页轻轻动了一下,我低头看见那行尚未写完的字,墨迹还很新,像一条细线,安静地落在纸上。
原来它还在,原来我也还在。
风去
星位
立夏以后,风开始带上一点热意。
天空好像比春天更亮,云也变轻了一些。树间偶尔传来若有若无的蝉鸣,像是夏天还没有真正站稳,就先试着发出了一点声音。
没过多久,我踏上了去南昌的动车。
这是一趟比早八还要早八的旅程。车上坐着一对母女,小女孩五六岁的样子,我和她打招呼,她只是抬头看了我一眼,又很快移开了视线。
下车以前,我和乘务员随口聊了几句,没过多久,她又和邻座的大妈因为一盒水果聊了起来,分别时,大妈很自然地向她说了再见。
我不知道她们是否认识,也许只是刚好在一段旅途中坐得很近,说了几句话,然后各自离开。这种感觉还挺神奇的——就像夏天的风。有些链接,之所以真实,恰恰因为它短暂,不必负担太多。
下午到酒店的时候已经快两点了,好饿,好困,也好晒。夏天的风一点也不暖,它好烫,晚上去吃江西小炒,所谓的“微微辣”也比想象中认真得多,夏天好像就是这样到来的。
正式比赛那天,我们很早便到了学校,从校门走到赛场,几乎横穿了整个校园,太阳晒得人有些恍惚。
比赛开始后,我们被一道博弈题卡了很久,我的第一反应是奇偶性, 的情况推了出来, 也验证了,规律其实已经摆在眼前,可我们停在了那里,没有继续去看 、,也没有再往那条尚未看到终点的路上走一步。
后来,榜单又把我们带向了另一个方向。一道通过人数很多的题,三个人看了很久也没有头绪,我们不断怀疑是不是遗漏了什么简单的结论,直到比赛结束以后才知道,那只是一道歪榜,反而是另一道已经摸到一点思路的题,才是当天理论上最难的题。
最后平稳落地,保住了铜牌。看见结果时,我没有特别强烈的感觉,不是失落,也谈不上释怀,只是坐在那里,看着榜单最终停下。
走出场馆时,天还没有完全暗下来,太阳晒过一天的热意仍然留在路面上,风迎面吹来,也没有多少凉意,疲惫没有立刻散去,可远处的天空却比来时更清澈了一些。
我抬起头,星星还没有完全出来,那些位置却已经比去年清晰了一些。从春天带回来的那点余温,也跟着晚风慢慢散开,落进尚未完全亮起的夜色里。
我的夏天才刚刚开始。
小满
小满那几天,云总是很低。
它们积在天上,满得像是能拧出水来,却迟迟没有落雨。芭蕉叶偶尔接住一滴,雨水顺着叶脉滑下去,落进湖面。水面轻轻动了一下,很快又恢复平静。
阳光停在肩上,已经不再像立夏时那样试探。它有了一点重量,却还没有真正压下来。夏天还没满,空气却先满了。
那段时间,我正在准备一场自己的比赛。题面、数据、标程和题解散落在不同的文件夹里。改完一个地方,又会发现另一个地方还不够严谨。时间一点点逼近,许多原本觉得来得及的事情,忽然都挤到了一起。
我给这场比赛出了十三道题,第一道从早晨七点的闹钟开始,此后是早八、课堂、食堂、实验、图书馆和夜跑,时间一路向后,最后落进一场梦里。就像是把普通的一天拆开,写进一本题册,再交给别人重新走一遍。
最后一道题叫《米秋的非平凡因子》。两个数除了 之外,还会不会拥有其他共同的部分?那些不能被轻易约掉的因子,究竟有多稠密?我把问题留在了题面里。
小满过去以后,便是芒种。这个名字听起来就很忙。有芒的麦子该收,有芒的种子该下。
收成和播种偏偏挤在同一个时节里,像夏天刚刚站稳,就被递来一把镰刀和一捧新的种子。
六月六日中午,米秋杯开始了。
那一天比我预想中更加匆忙。原本写在纸上的流程,被时间推着不断向前。比赛、题解、滚榜和颁奖,一项接着一项,几乎没有留下喘息的空隙。
它没有长成我最初想象中的样子,好在最后还是平稳落地了。
题册被翻开,榜单一点点向前变化。有人从清晨的闹钟出发,有人在食堂、图书馆和夜跑之间停留,也有人一路走进最后那场梦里。
那些原本只存在于我电脑里的题目,终于被别人阅读、讨论和提交。属于我的一天,在五个小时里,被拆成了许多条不同的路径。
比赛结束以后,我原本应该记住更多。可那两天实在太累,生活里还有其他事情缠在一起。我没有打开文档,也没有立刻为它留下什么。
等到后来终于回头,许多画面已经模糊了。我只记得那一天很热,记得自己一直被时间推着向前,也记得它确实完成了。
或许一粒种子落进土里时,本来就不会发出太大的声音。种下它的人也未必能够一直守在那里,记住第一片叶子是在什么时候长出来的。它只是落了下去。
那个六月的正午,确实有一群人坐在一起,翻开同一本题册,在相同的五个小时里,一次次读题、讨论、调试和提交。
最后那道关于非平凡因子的题,没有替我找出一个确定的答案,但有些共同的部分,大概已经留了下来。
芒种以后,云仍然很低。偶尔有雨落在芭蕉叶上,发出短促而清晰的声响。
该收的收下,该种的种下。把已经完成的事情收进手里,也把那些没有做好的部分留在那里。
夏天还没有满。至于那颗种子会不会长出新的绿色,就交给更远一点的夏天吧。
尾
风来,风渐,风去
结课的时候,要写一篇关于成长的文章。我想了很久,最后只想起几阵风。
春天的风很轻。它从树梢上落下来,带着一点湿润的气息。那时远行刚刚结束,很多事情都还没有答案,故事也停在一个不太圆满的位置。
我在傍晚的路上走着,风从身边经过,袖口轻轻动了一下,路灯下的树影也跟着晃了一下。我停在那里,像是有一根很细的线,从很远的地方轻轻牵住了我。抬头的时候,春天还在。
后来,风渐渐有了热意。天空变得更亮,云也薄了下来。阳光落在路面上,落在肩上,也落在一些还没来得及收好的心事上。
夏天总是来得很快。有些话还没有说完,有些期待还没有落下,它已经带着晒过的树叶、发烫的地面和午后微微发闷的空气,从远处吹了过来。
我以前总想把很多东西留住。一段话,一个下午,一次回头,一点没有被说出口的期待,都被我放在心里,很轻,又很重。风吹过来的时候,我会下意识地伸手,好像只要攥紧一点,故事就不会散。可手心攥久了,会疼。
夏天的风并不温柔。它把头发吹乱,也把那些没等到的回音、没有抵达的约定,从藏着的地方翻出来,摊在阳光下。湿透的从前被一点点晒干,化作泛黄的诗,一页一页,在风里翻过去。我看了很久,没有伸手。
后来再想起时,仍然会听见一点风吹过的声音。只是那些东西已经从掌心回到了记忆里,安静地停在纸上,不再需要我立刻追上去。后来真正记住的,好像没有几个。只记得人可以慢一点,不必急着把自己整理好;可以在风里站一会儿,等一些东西从心上经过。
窗外的风吹进来,翻动桌上的纸页。那一页停了很久,终于轻轻落下,露出下面尚未写过的一页。我没有把它翻回去。
窗还开着。