OI重生

重生之OI逆袭

杨凯斐在NOI2025赛场上爆零猝死后,重生回高二开学第一天。
前世打鼾声惊醒全场,女朋友林小雨当场哭着分手。
这次睁眼,竟在熟悉的机房,老师正演示洛谷注册流程。
他颤抖着手输入用户名,系统提示:“欢迎回来,杨凯斐。”
指尖划过红题列表,前世痛苦回忆如潮水般涌来。
此时背后传来微颤的声音:“那个...我喜欢你很久了...”


机房里特有的味道率先钻进杨凯斐的鼻腔——那是干燥的灰尘、老化塑料外壳经年累月散发出的微酸气息,以及几十台机器散热孔里持续喷吐出的、沉闷的热风。

他吃力地睁开眼缝,刺目的白光像无数根针扎进眼底,大脑深处发出沉闷的、仿佛朽木开裂的轰鸣。视野里一片模糊的光斑,只有大片大片冰冷的惨白底色。

耳朵里灌满了声音:老旧CRT显示器工作时的“嗡嗡”低鸣,像永不疲倦的工蜂;头顶日光灯管镇流器发出的、频率极高的“滋滋”电流声,细碎恼人;更密集的,是周围噼里啪啦敲击键盘的声响,或快或慢,杂乱无章地交织在一起,汇成一股令人心浮气躁的噪音河流。

意识像沉在浑浊的深水里,一点点艰难地向上漂浮。那震耳欲聋的鼾声似乎还在耳膜深处回荡,夹杂着人群压抑不住的、充满嘲讽和鄙夷的嗤笑……最后,是林小雨那张被泪水浸透、写满绝望的脸猛地撞入脑海,她嘴唇翕动,声音却淹没在一片刺耳的蜂鸣和心脏骤然爆裂的剧痛里!

“……斐……杨凯斐!”

一声不算响亮的呼叫,带着点不耐烦,像一根针,猛地将他涣散的意识扎穿了。

杨凯斐浑身剧烈地一颤,支撑着脑袋的手臂一滑,额头“咚”地一声磕在冰凉坚硬、布满细小划痕的旧木桌面上。真实的痛感瞬间驱散了大部分混沌的眩晕。

他猛地抬起头,大口喘息,胸膛剧烈起伏,如同离岸濒死的鱼。心脏在胸腔里疯狂撞击,每一次搏动都带着让他恐惧的沉重感,咚咚咚,震得指尖都在发麻。他还活着?怎么可能?!那种心脏彻底撕裂、意识沉入无边黑暗的感觉,真实得刻骨铭心!

混乱惊恐的目光扫过四周——熟悉得令人窒息。

一排排笨重的、灰白色外壳的旧电脑,显示器边框泛着暗淡的黄。头顶几根长长的日光灯管,散发出冷冰冰的白光,照亮空气中漂浮的细小尘埃。墙壁上挂着几幅早已褪色的、关于“信息时代”,“努力学习”之类的励志口号宣传画。空气中那股混合着灰尘、塑胶和机器散热的浑浊气味,正是他前世无数个日夜在这里挣扎、煎熬时呼吸的味道。

这里是……高中的老旧微机室?高二开学第一天的信息课机房?

“杨凯斐!醒醒神!”讲台上,信息课的王老师——一个戴着黑框眼镜,头顶微秃的中年男人——提高了嗓门,镜片后的眼神带着明显的不满,“假期还没缓过劲?开学第一课就神游天外?给我打起精神来!”

责备的声音不高不低,清晰地传到每一排。旁边几个同学投来或好奇或幸灾乐祸的目光,有人捂嘴低笑了一声。前世那些被轻视、被边缘化的感觉,如同冰冷的潮水,瞬间涌了上来。

杨凯斐用力甩了甩头,试图甩掉那诡异得令人心胆俱裂的“前世记忆”。那真的是梦?一场荒诞离奇、漫长无比的噩梦?可心脏残留的绞痛,掌心渗出的冰凉冷汗,还有那鼾声和林小雨绝望的眼神带来的窒息感,都真实得让他浑身发冷。他下意识地抬手按住左胸,隔着薄薄的校服布料,能清晰地感受到心脏在掌下失控般地狂跳。

“呼……”他长长地、颤抖着吁出一口气,强迫自己将目光投向讲台前方。

王老师已经不再看他,转身面对投影幕布。幕布上,一个色彩鲜明、设计简洁的网页占据了大部分空间——深蓝色的顶栏,醒目的橙色Logo,中央是几个清晰的方块菜单入口。

“都看这里!”王老师用激光笔的红点指向屏幕,“今天开学第一课,我们开始接触信息学竞赛的一个基础平台——洛谷!Luogu!”

洛谷!

两个字如同两道闪电,瞬间劈开了杨凯斐混乱的大脑!

那不是梦!

NOI2025……那个灯火通明、空气压抑得让人喘不过气的赛场……刺目的赛题卷……大脑因长期熬夜而混沌一片,如同灌满了沉重的铅水……眼前字符模糊跳动……然后……无法抗拒的疲惫如同滔天巨浪将他彻底吞没……震耳欲聋的鼾声惊醒全场……考官冰冷的审视目光……成绩公布屏幕上,自己名字后面那个巨大、鲜红、刺得人眼睛生疼的数字——“0”!

紧接着,是林小雨崩溃的哭喊:“杨凯斐!你让我觉得丢尽了脸!我们完了!” 她流着泪跑开,背影消失在人群里……再后来,便是心脏骤然紧缩、撕裂般的剧痛和永恒的黑暗……

“噗——”

一口浊气不受控制地从杨凯斐口中喷出,带着压抑不住的恐惧和痛苦。他猛地低下头,双手死死抠住桌沿,指关节因为过度用力而泛出骇人的青白色,指甲刮过粗糙的木面,发出细微刺耳的“嚓嚓”声。身体无法抑制地微微颤抖起来,额头上刚刚撞出来的红痕下,渗出了更多冰冷的汗水。胃里一阵翻江倒海,强烈的呕吐感涌上喉头。

那不是梦。那是他刚刚经历过的、惨烈死亡的终局!而现在……他回来了?回到了噩梦开始之前?

“……洛谷是目前国内规模最大、用户群体最活跃的信息学在线评测平台之一,”王老师的声音透过杨凯斐耳边嗡嗡的耳鸣传来,显得有些遥远,“它不仅仅是一个刷题的地方,更是一个学习、交流和竞赛的生态系统。上面有海量的题目,从最基础的语法入门……” 激光笔的红点在屏幕上一个标着“题目”的菜单项上晃动,“到国家级甚至国际级的OI赛题,应有尽有。”

红色光点又移向另一个区域:“这里,‘社区’,是讨论交流的地方。遇到难题,可以看题解,也可以发帖求助。当然,求助前先搜索,避免重复提问,这是基本礼仪。”

红点最终落在一个醒目的橙色徽章图标旁:“还有,‘咕值’体系。这是洛谷社区贡献和活跃度的综合体现值。回答问题帮助他人、撰写优质的题解帖子、参与社区建设等等,都能提升你的咕值等级。等级越高,在社区享有的权限和声望也越高。记住,尊重规则,友善交流。”

王老师转过身,目光扫过台下几十张年轻或茫然、或好奇、或跃跃欲试的脸:“我知道,在座的有些同学可能私下已经接触过OI,甚至注册过洛谷。但今天,我们统一从这里开始。打开浏览器,输入网址:‘www.luogu.com.cn’。”

“噼里啪啦”的键盘敲击声顿时密集起来。杨凯斐深吸一口气,强行压下胸腔里翻腾的惊悸和恐慌。他僵硬地抬起手,指尖冰凉,略带颤抖地按在键盘那熟悉的、微微凸起的F和J键定位点上。打开浏览器,在地址栏缓慢却坚定地,一个字母一个字母地敲入:w-w-w-.-l-u-o-g-u-.-c-o-m-.-c-n。

清脆的回车键敲击声,在他耳中却如同审判的鼓槌落下。

深蓝色的洛谷首页瞬间铺满了整个屏幕。顶部醒目的橙色Logo,几个清晰的功能区入口(题目、题单、比赛、题解、讨论、用户……),下方是滚动的新闻公告和推荐题目。页面设计简洁清爽,充满了技术社区特有的活力感。这一切,与他记忆深处那个在无数次失败中反复凝视、绝望叩问的网站,完美地重叠在了一起。

“好了,都看到了吧?现在,第一步,注册你们的账号。”王老师的声音平稳地传来,“点击右上角的‘注册’按钮。用户名自己想好,建议用英文、数字组合,简单好记,最好和自己的真实姓名有点关联,方便老师以后查看。邮箱写自己的常用邮箱,填写真实信息,以后找回密码或者接收比赛通知会用到……”

前世无数个日夜在这个网站上的挣扎、痛苦、不甘和最终的耻辱结局,如同海啸般冲击着杨凯斐的神经。他看着那个橙色的“注册”按钮,手指悬停在鼠标上方,微微颤抖。一个带着强烈自嘲和毁灭欲望的念头猛地闪现:要不要叫“Sleeping_NOI_0”?

指尖悬在鼠标左键上方,微微颤抖。那个带着强烈自嘲和毁灭意味的ID——“Sleeping_NOI_0”——如同毒蛇的信子,在脑海中嘶嘶作响。注册框简洁的线条在他视野里有些模糊。他闭上眼,深深吸了一口充满灰尘和机器余温的空气,再缓缓吐出。

不。那已经是过去的亡魂。

重生,就该像浴火的凤凰。

他移动鼠标,光标落在用户名的输入框中。手指落在键盘上,这一次,异常稳定。一个个字母敲下:

R-e-b-o-r-n-_-P-h-O-e-n-i-x

指尖按下回车。

“欢迎回来,Reborn_PhOenix。” 一行深蓝色的小字平静地浮现在输入框下方。

杨凯斐的瞳孔骤然收缩!

欢迎……回来?

寒意如同冰冷的毒蛇,倏地从尾椎骨窜上后颈,瞬间冻结了他的四肢百骸。“回来”?这个词像一颗投入死水潭的石子,激起的涟漪迅速扩散成滔天巨浪!难道……难道洛谷的系统……记录了他前世那个ID?那个在NOI2025榜尾挂着刺眼零蛋的耻辱ID?

不可能!绝对不可能!时间坐标清晰地指向2023年9月1日,他的前世ID根本还未在这个世界诞生!

心脏像是被一只无形的手攥紧,疯狂地擂打着胸腔。冷汗瞬间浸透了后背单薄的校服布料。他死死盯着那行深蓝色的小字,每一个像素都像在无声地嘲笑着他的恐惧。

“怎么回事?”讲台上,王老师的声音带着一丝疑惑传来,显然注意到了杨凯斐这边异常的停顿和瞬间苍白的脸色,“注册遇到问题了?”

这声音如同惊雷,猛地将他从瞬间的惊骇中劈醒。杨凯斐浑身一震,几乎是本能地、用力地按下了浏览器右上角的刷新按钮!页面短暂地空白了一下,旋即重新加载。

深蓝色的洛谷首页再次出现。右上角,清晰地显示着:“登录 | 注册”。

刚才那行“欢迎回来”的提示,连同那个只输入了一半的用户名框,消失得无影无踪。仿佛刚才那令人心神俱裂的一幕,只是他重生后精神极度紧张下产生的、短暂而荒谬的幻觉。

杨凯斐僵在座位上,后背的寒意还未完全褪去,一种劫后余生的虚脱感混杂着更深的困惑弥漫开来。是系统延迟?是幻觉?还是……无法解释的诡异?

“好了,用户名输完的同学,继续填写邮箱和其他信息!密码设置复杂点,别用生日或者123456!”王老师的声音再次响起,带着惯常的监督意味,打破了杨凯斐短暂的凝滞。

他深吸一口气,冰凉的手指重新放回键盘。幻觉。只能是幻觉。时间线不容篡改。

他再次移动光标,落在用户名框里。这一次,他摒弃了所有情绪的波澜,只选了最简单、最直接的那几个字母:Y-K-F。前世今生身份的缩写。平平无奇,泯然众人。邮箱,填写了自己常用的QQ邮箱。密码……他沉默片刻,键入了“NOI2025_BackToZero”——既是警醒,也是鞭策。真实姓名?他顿了顿,最终还是敲下了“杨凯斐”。

所有信息输入无误。鼠标指针移动到“注册”按钮上,微微停顿了一下。

这一次,指尖按下,稳定而坚决。

页面流畅地跳转。一个绿色的成功提示框弹出:“注册成功!欢迎加入洛谷,Y-K-F!您的UID是:********”

没有“欢迎回来”,只有“注册成功”。一切都如常进行。杨凯斐紧绷的神经终于稍稍松懈了一丝。

“注册成功的同学,登录进去!”王老师的声音再次响起,“登录后,点击顶部菜单的‘题目’,然后选择‘题库’。看到那个筛选框没有?将难度设置为‘入门’!对,就是那个红色的标记。”

杨凯斐依言操作。熟悉的题库页面展开,左侧是一排排的筛选条件。他的鼠标在“难度”下拉菜单里移动,毫不犹豫地选择了最底层那个标注着鲜红色的选项——入门(红色)。

点击筛选按钮。

页面刷新。

刹那间,一片红色的海洋涌入眼帘!

【P1000】超级玛丽游戏 (入门)
【P1001】A+B Problem (入门)
【P1002】过河卒 (入门)
【P1003】铺地毯 (入门)
【P1004】方格取数 (入门)
【P1005】矩阵取数游戏 (入门)
【P1006】传纸条 (入门)
【P1007】独木桥 (入门)
【P1008】三连击 (入门)
【P1009】阶乘之和 (入门)
……

列表向下滚动,密密麻麻,全是标注着“入门”难度、题号以P1开头的题目。那一片片象征着基础、象征着起点的、无比刺目的红色,此刻却像一根根烧红的钢针,狠狠扎进了杨凯斐的眼底!

前世那无比惨痛的一幕幕,以更加狂暴的姿态,带着地狱熔岩的温度,轰然炸开!

NOI2025赛场。巨大的电子钟冰冷地跳动着倒计时。赛题卷上那几道“省选+”甚至“NOI-”级别的题目,如同狰狞的怪兽,对他张开了血盆大口。连续数月的疯狂熬夜突击,早已榨干了他最后一丝清醒。眼前的字符开始扭曲、浮动、重叠……大脑里像是塞满了沉重粘稠的浆糊,无论如何驱动,都只剩下缓慢而艰涩的摩擦声。眼皮如同灌了铅,每一次掀开都需要耗费巨大的意志力,随即又以更快的速度沉重地合拢……

终于,疲惫的黑暗如同巨浪,彻底将他吞噬。

震耳的鼾声毫无预兆地在寂静的比赛大厅里炸响!如同一块巨石投入死水,瞬间打破了空气的凝滞。周围选手惊愕地抬头,监考老师严厉的目光如同探照灯般扫射过来!那目光里,充满了难以置信的错愕和冰冷的鄙夷!他猛地惊醒,心脏狂跳,冷汗瞬间湿透后背,但大脑一片空白,对刚才发生了什么茫然失措。时间……宝贵的比赛时间……在极致的羞辱和巨大的恐慌中飞速流逝……

成绩公布。巨大的电子屏滚动着。他的名字——杨凯斐。紧随其后,那个鲜红、巨大、如同烙铁般滚烫的数字——0!赤裸裸地悬挂在榜尾!

人群的骚动和低语如同嗡嗡的蜂群。他僵硬地站在角落里,像一尊冰冷的石像,灵魂被那个“0”彻底抽空。

然后,他看到了她。

林小雨拨开人群冲了过来,那张平日里总是带着羞涩红晕的清秀脸庞,此刻被愤怒和无法置信的泪水冲刷得通红。她站在他面前,身体因为激动而微微发抖,胸口剧烈起伏,嘴唇颤抖着,声音带着撕裂般的哭腔,每一个字都像冰冷的刀子,狠狠捅进他早已麻木的心脏:

“杨……杨凯斐!你……你让我觉得丢尽了脸!全校……不,全省都在看笑话!我们……我们完了!再也……再也不要来找我!”

她吼完,猛地推开旁边试图劝阻的同学,捂住脸,转身踉踉跄跄地冲出了人群。那决绝的背影,如同烧红的烙铁,深深烙印在他的视网膜上,成为他前世生命终结前,看到的最后一个清晰景象……

“呃……”

一声压抑不住的、极其轻微的痛哼从喉咙深处溢出。杨凯斐猛地低下头,几乎将整张脸埋进键盘冰冷的缝隙里。双手死死地抱住自己的头,指甲深深陷进发根。身体无法控制地痉挛般颤抖着,胃里翻搅着剧烈的恶心感。那深入骨髓的耻辱、巨大的懊悔和被抛弃的冰冷绝望,如同千万根钢针,穿透时光的壁垒,再一次将他钉死在原地。

桌面上反射的微光里,一滴滚烫的液体,无声地砸落在布满细小划痕的木纹桌面上,迅速洇开一小片深色的湿痕。

机房里的键盘敲击声、低语声依旧嘈杂,但对他而言,整个世界仿佛只剩下一片嗡鸣的空白。他像一尊被抽走了脊柱的泥塑,僵硬地趴在冰冷的桌面上,只有肩膀无法抑制的细微颤动,泄露着灵魂深处那场刚刚重演的海啸。那些标题刺眼的红题,像无数只嘲讽的眼睛,在模糊的视野里跳动着。

就在这濒临窒息的痛苦边缘,一个极其轻微、带着怯懦和巨大勇气的触碰,毫无预兆地落在他剧烈颤抖的后肩上。

指尖的力道轻得像一片羽毛,带着女孩特有的、微微潮湿的暖意。但这微不足道的触碰,却如同投入滚烫岩浆的一粒冰晶,“滋”地一声,瞬间唤醒了杨凯斐被痛苦淹没的神志。

他猛地一僵,如同受惊的野兽,所有的颤抖刹那间凝固。

他非常缓慢地,一点点强迫自己抬起头。

视线有些模糊,用力眨了眨,才勉强聚焦。

一张干净白皙的脸庞映入眼底。齐肩的黑发柔顺地垂着,发梢被窗外透进来的阳光染上一点浅金色的轮廓。额前几缕碎发下,是一双清澈得如同春日山涧的眼眸,此刻却盛满了浓得化不开的紧张和……一种近乎悲悯的担忧?小巧的鼻尖微微泛红,两片失去了血色的嘴唇紧紧抿着,似乎在拼命压抑着某种巨大的情绪。

林小雨。

活生生的林小雨。不再是那个在NOI赛场上崩溃哭喊、决绝离去的冰冷背影。她就站在他身边,校服洗得干干净净,带着淡淡的皂角清香,指尖还残留着触碰他肩膀时传递过来的、微弱的暖意。

时间仿佛在这一刻被无限拉长、凝固。杨凯斐看着这张近在咫尺、曾经无数次出现在他最甜美梦境和最痛苦悔恨中的脸,大脑一片空白。心脏在经历了极致的绞痛后,像是被一只无形的手猛地攥住,又倏地松开,剧烈搏动起来,每一次跳动都沉重地撞击着胸腔,带来一阵阵眩晕般的闷痛。喉咙像是被死死堵住,半个字也发不出来。

林小雨显然被他惨白的脸色和布满血丝、还隐约残留着水痕的眼睛吓到了。她下意识地缩回了手,纤细的手指无措地绞在一起,指节因为用力而微微发白。她飞快地看了一眼讲台,王老师正背对着学生在黑板上写着什么,没有留意这边的动静。她似乎是松了口气,但眼神里的担忧丝毫未减。她微微俯下身,凑近了一些,声音压得极低,几乎只剩下气音,带着细微的颤,像被风吹动的蛛网:

“杨凯斐……你……你别这样啊……”

她的声音像是投入死水潭的石子,瞬间打破了杨凯斐被痛苦冻结的思维壁垒。冰冷的绝望稍微退去一丝,取而代之的是汹涌而至的、更加复杂的情绪——活生生的小雨,就在眼前,带着真实的关切。这关切刺痛了他,因为前世的记忆里,正是自己将这关切彻底撕碎、践踏。

“我……”杨凯斐喉咙干涩得发疼,只勉强挤出一个音节。他下意识地想抹一把脸,又觉得这动作太过软弱,强行忍住了。他努力坐直身体,试图扯出一个表示“没事”的僵硬笑容,但脸部肌肉仿佛冻僵了,最终只形成一个极其别扭的扭曲。

林小雨看着他强撑的样子,眉头反而蹙得更紧了。她似乎下定了某种决心,那双清澈的眼眸里,紧张几乎要满溢出来,原本就微微泛红的鼻尖颜色更深了些。她深吸了一口气,那气息带着细微的颤抖,像是用尽了全身的力气。她的目光飞快地掠过杨凯斐的侧脸,又迅速垂下,盯着自己绞在一起的、指节发白的手指,声音比刚才更轻,却带着一种孤注一掷的清晰:

“那个……其实……我……我喜欢你很久了……真的很久了……”

世界骤然失声。

机房里的键盘敲击声、风扇的嗡鸣、隔壁同学拖动椅子的吱呀声……所有的声音都在这一刹那被抽离、隔绝。杨凯斐的大脑一片空白,仿佛被巨大的、无声的闪电劈中。

喜欢……很久了……

这几个字,像滚烫的烙印,直接烫在了他刚刚经历过剧烈痛苦、尚未平复的灵魂深处。前世,在NOI那场毁灭性的惨败之前,他们才刚刚懵懂地开始。那时的甜蜜像蒙着一层薄纱,带着少年人特有的羞怯和悸动。他一直以为,那份感情的开端,是在NOI备战的枯燥间隙中悄然萌芽的。他从未想过,更从未察觉,在他浑浑噩噩的前世高二,在他还只是一个在机房角落里默默无闻、甚至带点颓废的普通男生时,这个安静坐在他斜前方、总是低着头做题的女孩,就已经悄悄地将目光投注在他身上。

巨大的荒谬感和更深切的愧疚感如同两只冰冷的手,紧紧扼住了他的喉咙。为什么偏偏是现在?为什么在他刚刚重温了前世亲手将她推开的惨烈结局之后?为什么在他灵魂深处还残留着心脏爆裂的剧痛和刻骨铭心的耻辱烙印之时?

前世的画面再次不受控制地闪现:NOI赛场上震耳的鼾声,全场刺目的目光,巨大的“0”分,林小雨崩溃的哭喊和决绝离去的背影……然后是无边的黑暗和冰冷。

而现在,活生生的她,带着前世他不曾知晓的、更深沉也更纯粹的情愫,在他最脆弱、最狼狈、最不堪一击的时刻,向他表白了。

这算什么?命运的讽刺?迟来的救赎?还是又一次……将他拖回无尽悔恨轮回的钥匙?

杨凯斐猛地闭上了眼睛,试图将那撕裂般的幻象驱逐。他放在膝盖上的手死死攥成了拳,指甲深陷进掌心,尖锐的刺痛感才让他勉强维持住一丝清明,不至于再次被那滔天的情绪巨浪淹没。心脏在胸腔里疯狂地撞击着,不是因为悸动,而是因为一种混杂着恐惧、愧疚和巨大压力的狂乱搏动。

他再次睁开眼,看向林小雨。她的眼神依旧清澈,但那份紧张和孤注一掷的勇气之下,此刻混杂了更多的困惑和不安。显然,杨凯斐这远超预想的、痛苦而复杂的反应,与她告白前设想的任何一种情形都截然不同。她微微张着嘴,似乎想说什么来解释或缓解这诡异的气氛,却又不知如何开口。

“我……”杨凯斐的声音沙哑得厉害,如同砂纸摩擦,“我没事……真的……”他艰难地挤出几个字,每一个音节都异常沉重,“谢谢……谢谢你告诉我……” 后面的话却无论如何也接不下去。是拒绝?是接受?是解释?在刚刚经历了一场灵魂层面的生死轮回之后,在那些惨痛的记忆还滚烫如烙铁的时刻,他根本无力去思考这些。

时间仿佛在两人之间凝固。机房的喧嚣似乎被一层无形的屏障隔绝开来,只剩下一种令人窒息的沉默。林小雨眼中的光黯淡了些许,那抹浓重的困惑和一丝受伤清晰地浮现出来。她不明白,为什么一个简单的、藏了许久的告白,会换来对方如此巨大的、近乎崩溃的痛苦反应。这和她想象的任何一种羞涩、惊喜、或是委婉拒绝的场景都天差地别。

就在这时,讲台上传来王老师洪亮的声音,如同剪刀,猛地剪断了这紧绷的弦:

“都注册好了吧?登录进去!别磨蹭!看到题库页面那些红题没有?”王老师提高了音量,目光扫视全场,“今天的任务很简单!每个人,对,就是每个人!给我把【P1001】A+B Problem做出来!做完提交!就在题库页面搜索‘P1001’就能找到!这是你们洛谷生涯的第一步!也是检验你们基础的第一步!”

“A+B Problem”这几个字像是一道冰冷的电流,瞬间贯穿了杨凯斐的神经。这道题!这道所有信息学入门者都无法绕开的、象征着起点的题目!前世无数次的练习,它早已如同呼吸般自然。

几乎是本能,就在王老师话音落下的瞬间,杨凯斐那因前世记忆和巨大情绪冲击而略显僵硬的手指,已经下意识地、精准地在浏览器地址栏里敲下了完整的洛谷题目网址:

https://www.luogu.com.cn/problem/P1001

页面瞬间加载。

【题目描述】输入两个整数 A 和 B,输出它们的和。

简洁到极致的题目要求,黑底白字,平静地呈现在屏幕上。下方是代码提交框。

前世无数个日夜积累的本能,在这一刻压倒性地占据了上风。那些痛苦的记忆、混乱的情绪、林小雨告白带来的巨大冲击波,在纯粹的职业习惯面前骤然退让开一条通道。他的大脑几乎是条件反射般地高速运转起来:

输入输出流。标准库。整数类型。基本的算术运算符……

他甚至没有打开旁边的编译器环境,身体微微前倾,眼睛死死盯着屏幕上空白的代码框,手指已经如同拥有独立意识般在键盘上敲击起来:

#include <iostream>
using namespace std;
int main() {
    int a, b;
    cin >> a >> b;
    cout << a + b << endl;
    return 0;
}

指尖落下最后一个回车键,发出一声清脆的“咔哒”。

前世磨砺出的、刻入骨髓的代码书写习惯在此刻展现得淋漓尽致。行云流水,没有丝毫停顿或犹豫。标准的头文件引用,清晰的变量声明,简洁的输入输出语句,严格遵循格式。短短几行代码,在冰冷的灰色编辑框里,闪烁着一种异样的、与此刻机房里其他同学略显笨拙和迟疑的操作格格不入的高效与熟练。

敲完代码,他甚至没有像其他初学者那样反复检查,指尖已经下意识地移向了右下角那个橙色的“提交”按钮。

就在这时,一只冰凉、微微颤抖的小手,带着一股决绝的力道,猛地按在了他的手背上,死死压住了他即将点下鼠标的手指!

杨凯斐浑身一僵,动作瞬间凝固。他猛地转头。

林小雨的脸近在咫尺,那张干净白皙的脸庞此刻涨得通红,连小巧的耳垂都染上了血色。她的呼吸有些急促,胸口微微起伏,那双清澈的眼眸深处,先前被杨凯斐剧烈痛苦反应吓退的担忧和困惑,此刻被一种更强烈的情绪取代——那是混合着固执、受伤和某种难以言喻的委屈的急迫。

那只冰凉又颤抖的手,带着一种不顾一切的固执,死死压在杨凯斐的手背上,阻止了他按下那个至关重要的“提交”按钮。肌肤相触的地方,传来细微的战栗感,分不清是她的还是他的。

林小雨的脸近在咫尺,那张总是带着安静柔和的线条此刻绷紧了,脸颊染着不自然的绯红,一直蔓延到小巧的耳廓。她的呼吸很急,带着细微的抽气声,胸口随着急促的呼吸起伏着。那双清澈的眸子,此刻像被投入石子的湖面,翻涌着复杂的漩涡——受伤的委屈、固执的不解、还有被杨凯斐那巨大痛苦反应惊吓后残余的恐惧,全都交织在一起。

“杨凯斐!你到底怎么了?!”她的声音压得更低,却因为情绪的紧绷而带上了一丝难以抑制的尖锐,如同绷紧的琴弦,“我做错了什么吗?还是……还是你喜欢别人了?你告诉我啊!”

每一个字都像冰冷的针,扎在杨凯斐混乱的心上。他看着她通红的眼眶,看着她因为用力抿唇而微微泛白的嘴角,心脏像是被一只冰冷的手狠狠攥了一下,又酸又痛。

喜欢别人?怎么可能!前世今生,他的目光追逐的,从来只有那个在考场上崩溃离去的背影!

可是……该怎么告诉她?
告诉她,他刚从一场惨烈的死亡中苏醒?
告诉她,他曾亲眼目睹她绝望的哭喊和决绝的离去?
告诉她,那个巨大的“0”分烙印在他灵魂深处,每一次呼吸都带着耻辱的灼痛?
告诉她,他害怕……害怕重蹈覆辙,害怕再一次让她承受那样的羞辱和痛苦?

不。这些话说出来,只会让她觉得他疯了。或者,比疯了更糟。

“没有……不是……”杨凯斐艰难地开口,声音沙哑干涩,每一个字都像是从砂砾中挤出来,“不是你的错……是我……”他顿了顿,目光不由自主地瞥向屏幕上那几行简洁的C++代码,那曾经熟悉无比的“A+B”,此刻却像是一个讽刺的符号。前世,他是怎么一步步走向那个零点的?不正是从无数次敷衍了事的“入门”开始,基础浮沙般松散,在真正的高塔面前轰然倒塌?

他深吸了一口气,强行压下翻腾的心绪,视线重新聚焦在林小雨那双充满委屈和困惑的眼睛上。“是我……刚才突然想到一些事情……很糟糕的事情……”他努力让自己的声音听起来平静一些,尽管尾音依旧带着不易察觉的颤抖,“跟你……跟你刚才说的……没有关系……”他避重就轻地回答了她关于“喜欢别人”的质问。

林小雨眼中的光芒闪烁不定。杨凯斐的解释苍白又含糊,根本无法驱散她心中的疑云和巨大的落差感。她想象中的回应,无论是羞涩的喜悦还是温和的婉拒,都不该是眼前这张惨白痛苦、仿佛刚从地狱边缘挣扎回来的脸。那份孤注一掷的勇气,像是被戳破的气球,迅速瘪了下去,只剩下浓重的失落和茫然。压在他手背上的手,力道不自觉地松懈了。

就在这时,讲台上的王老师重重地咳嗽了一声,目光锐利地扫过整个机房,最后落在他们这个角落,尤其是在动作停滞、气氛明显不对的两人身上停留了一瞬。

“都愣着干什么?!代码写完了就提交!没写完的抓紧时间!【P1001】A+B Problem!这么简单的题目,难道还要我手把手教你们怎么写吗?!”王老师的声音带着明显的不耐烦,目光如同探照灯,“杨凯斐!林小雨!你们俩在干什么?还不开始?!”

老师的点名如同冷水浇头。

林小雨像受惊的小鹿,猛地缩回了手,指尖残留的冰凉触感让杨凯斐手背的皮肤一阵发麻。她慌乱地垂下眼帘,长长的睫毛不安地颤动,避开杨凯斐的目光,也避开了王老师的审视。她甚至不敢再看屏幕一眼,僵硬地转过身,逃也似地快步回到了自己座位上,留下一个微微弓着背、极力缩小存在感的背影。

杨凯斐的心脏猛地一沉。他清晰地看到她转身时,眼角那抹飞快掠过的水光。

痛悔如同冰冷的藤蔓,瞬间缠绕上来,勒得他几欲窒息。

该死!
他做了什么?
在她鼓起毕生勇气向他袒露心迹的时刻,自己却用一幅被前世噩梦折磨得生不如死的鬼样子回应了她!非但没有抚慰她的紧张和期待,反而将她推入了更深的困惑和委屈之中!

前世的失败尚未清算,重生伊始,他就又一次……伤到了她。

一股冰冷的、带着自我厌弃的绝望感再次涌上喉咙。他死死咬住下唇内侧,血腥味在口腔里弥漫开来。尖锐的疼痛让他混乱的大脑获得了一丝短暂的清明。

不行!
不能沉沦!
重生的意义,不就是为了弥补这一切吗?

他的目光,如同被磁石吸引,猛地钉死在屏幕上。那几行简洁的C++代码,依旧是:

#include <iostream>
using namespace std;
int main() {
    int a, b;
    cin >> a >> b;
    cout << a + b << endl;
    return 0;
}

完美。无懈可击。如同呼吸般自然。
这是他前世无数次练习,早已刻进骨髓的东西。
这也是他今生万丈高楼的……第一块基石。

悔恨可以稍后弥补,痛苦可以稍后舔舐。
但现在,他必须迈出这第一步!

近乎本能地,甚至带着一种发泄般的决绝,杨凯斐的右手食指猛地落下,狠狠地砸在那橙色的“提交”按钮上!

【题目】:P1001 A+B Problem
【提交者】:Y-K-F(杨凯斐)
【语言】:C++
【代码】:(略)
点击提交!

页面短暂地刷新了一下,一个黄色的圆圈图标出现在按钮下方,旁边一行小字:“正在提交评测,请稍候...”

整个洛谷评测系统在后台高速运转着。对于这道简单到极致的题目,评测几乎在瞬间完成。

黄色圆圈消失了。

一行清晰、醒目的绿色徽章和文字,毫无迟滞地跳了出来:

状态:通过 (Accepted)‌
用时:0ms‌
内存:680.00KB‌

一个巨大的、绿色的勾号徽章,如同胜利的旗帜,占据了视野的中心。

【通过 Accepted】!

就这么简单。没有意外,没有波折。前世无数次提交这道题时那种理所当然的平静感,这一刻却带着一种近乎悲壮的沉重。

成了。
重生后的第一行代码,第一次提交……成功了。

杨凯斐死死地盯着屏幕上那个绿色的勾。
没有欣喜若狂,反而有一种更深沉的疲惫和麻木席卷上来。
成功了。但这仅仅是P1001,仅仅是起点中的起点。距离NOI2025那个将他碾碎的赛场,距离那个能让他真正挽回一切的地位,还有无数道如同天堑般的红题、橙题、黄题、绿题、蓝题、紫题、黑题……
路,才刚刚开始。

一股强烈的、无法抗拒的疲惫感如同潮水般将他淹没。不是身体上的,而是灵魂深处经历了生死轮回、剧烈情绪冲击后的那种极致的倦怠。他缓缓地、极其沉重地靠向了椅背,冰冷的靠背抵着他同样冰冷的脊梁。

他微微侧过头,视线越过几排显示器,落向那个背影。
林小雨正僵硬地坐在她的座位上,肩膀紧绷。她的屏幕亮着,光标停留在代码编辑框里,似乎在输入着什么,但动作显得极其迟疑和缓慢。她没有回头。

杨凯斐无声地收回了目光,重新聚焦在自己屏幕那刺目的绿色徽章上。

机房里的嘈杂似乎被一层无形的隔膜过滤了,只剩下风扇单调的轰鸣和自己沉重的心跳声。他伸出手,指尖带着细微的颤抖,在键盘上缓慢地敲击着:

https://www.luogu.com.cn/problem/P1002

【题目描述】棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时,在棋盘上的某一点有一个对方的马(该点可能会有障碍),该马存在的点和马一步能跳到的点称为对方马的控制点。棋盘用坐标表示,A 点坐标为 (0, 0),B 点坐标为 (n, m),马的坐标也给出(保证马的坐标与 A/B 点不重合)。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数。

题目难度:入门(红色)
题目类型:动态规划(DP)

入门的红色标识依旧刺眼。
但题目描述下方,那行小小的“动态规划(DP)”标签,却像是一个无声的宣告。
前世,他正是在这些看似简单的“入门”题上,为了追求速度而敷衍了事,忽略了深度理解和基础算法的打磨,导致后续大厦根基不稳。动态规划……前世他栽的第一个大跟头,就是在省选的一道经典DP题上因为状态转移方程想岔而崩盘。

杨凯斐的眼神骤然变得无比锐利,如同淬火的钢刀。
他坐直了身体,所有的软弱和疲惫被强行压下。指尖悬停在键盘上方,不再是发泄般的敲击,而是带着一种专注到极致的稳定。
这一次,他不再是为了提交而提交。
他要重新审视这入门的“红海”,从这里开始,一步一个脚印,将前世所有松散的基石,重新用钢铁浇筑!

指尖悬停在键盘上空,如同即将叩响命运之门的鼓槌。杨凯斐的目光穿透屏幕,落在 P1002 过河卒的题目描述上。每一个字都像冰冷的刻刀,在前世那些因基础不牢而崩塌的废墟上重新勾勒着轮廓。

动态规划。
入门级的动态规划。
前世,他曾对这种“简单”嗤之以鼻,追求那些花哨的技巧和难题的速度。结果呢?省选的楼梯上,那道看似经典的线性DP,他自信满满地写下状态转移方程,却在最终测试点爆出一个刺眼的 WA。检查时才发现,对 dp[i] = dp[i-1] + dp[i-2] 的理解流于表面,边界条件 dp[0] = 1, dp[1] = 1 成了思维定势的牺牲品。更深的陷阱在于状态定义的模糊性,有时是方案数,有时是最值,混淆不清导致递推关系错漏百出……那次失败的阴影,曾一度让他对这个基础领域的基石产生了畏惧。

“卒行规则:向下或向右。马的控制点……”
他低声念着题干的核心约束,声音沙哑却带着一种冰封般的冷静。前世踩过的坑,那些因轻视而留下的暗伤,此刻清晰地浮现。

屏幕上光标闪烁。他没有立刻动手敲代码,指尖在键盘上无意识地悬停着,仿佛在无声地丈量思维到实现的鸿沟。大脑皮层下,属于前世OI手的经验和属于今生重生者的绝对专注,正以前所未有的强度协同运作。

状态定义
棋盘坐标 (i, j) 处,卒子从起点 (0,0) 到达这里的路径条数。
dp[i][j] —— 二维数组,承载着状态。下标从0开始,与坐标系对齐。

边界条件
起点:dp[0][0] = 1。只有一条路:不动。(前世模糊的记忆提醒:起点方案数是1,不是0!)
控制点:如果 (i, j) 是马的控制点或障碍点,dp[i][j] = 0。卒子无法到达。
边界处理:对于第一行 i=0, j>0,卒子只能从左侧 (0, j-1) 向右移动而来。因此,dp[0][j] = (0,j)未被控制) ? dp[0][j-1] : 0
同理,对于第一列 j=0, i>0,卒子只能从上方 (i-1, 0) 向下移动而来。dp[i][0] = (i,0)未被控制) ? dp[i-1][0] : 0

状态转移方程
对于非边界的内部点 (i, j) (i>=1, j>=1):
卒子到达 (i,j) 只有两种可能:

  1. 从上方 (i-1, j) 向下移动一步。
  2. 从左方 (i, j-1) 向右移动一步。
    因此,dp[i][j] = dp[i-1][j] + dp[i][j-1]
    前提(i,j) 点本身不是控制点!
    即:dp[i][j] = ( (i,j)未被控制) ? (dp[i-1][j] + dp[i][j-1]) : 0

目标
终点 (n, m) 处的 dp[n][m],即为所求路径总数。

思路如同冰冷的溪流,在思维的山涧中奔涌。每一个逻辑节点都清晰无比,边界条件的细微陷阱被提前标记,状态转移的纯粹性被牢牢锁定。没有取巧,没有疏漏,只有对问题本质最基础、最扎实的剖析。

确认无误。
指尖终于落下,敲击键盘的声音清脆而果断,带着一种不容置疑的韵律。

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m, hx, hy;
    cin >> n >> m >> hx >> hy;  // 终点(n,m),马的位置(hx,hy)

    // 二维向量dp,大小(n+1)行,(m+1)列,初始化为0
    vector<vector<long long>> dp(n+1, vector<long long>(m+1, 0));

    // 标记马的控制点(马自身及其8个攻击位置),true表示控制点/障碍
    vector<vector<bool>> control(n+1, vector<bool>(m+1, false));
    // 马自身位置
    control[hx][hy] = true;
    // 马攻击的八个方向偏移量
    int dx[] = {-2, -1, 1, 2, 2, 1, -1, -2};
    int dy[] = {1, 2, 2, 1, -1, -2, -2, -1};
    for (int i = 0; i < 8; i++) {
        int nx = hx + dx[i];
        int ny = hy + dy[i];
        if (nx >= 0 && nx <= n && ny >= 0 && ny <= m) {
            control[nx][ny] = true;
        }
    }

    // 边界初始化 - 起点(0,0)
    if (!control[0][0]) { // 起点本身是否控制点
        dp[0][0] = 1;
    } else {
        dp[0][0] = 0; // 起点就是陷阱,直接0种方案
    }

    // 初始化第一行(j=0列) 和 第一列(i=0行) 的边界
    // 第一行: i=0, j从1到m
    for (int j = 1; j <= m; j++) {
        if (!control[0][j]) {
            dp[0][j] = dp[0][j-1]; // 只能从左侧来
        } else {
            dp[0][j] = 0;
        }
    }
    // 第一列: j=0, i从1到n
    for (int i = 1; i <= n; i++) {
        if (!control[i][0]) {
            dp[i][0] = dp[i-1][0]; // 只能从上方来
        } else {
            dp[i][0] = 0;
        }
    }

    // DP核心递推:从(1,1)开始到(n,m)
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            if (!control[i][j]) {
                dp[i][j] = dp[i-1][j] + dp[i][j-1]; // 状态转移方程
            } else {
                dp[i][j] = 0; // 控制点,方案数为0
            }
        }
    }

    // 输出终点方案数
    cout << dp[n][m] << endl;
    return 0;
}

代码如同冰冷的机械造物,结构严谨,逻辑分明。二维向量 dpcontrol 清晰地承载着状态和约束。控制点的标记利用了方向数组,简洁高效。边界初始化独立处理,核心递推双层循环覆盖所有非边界点。每一步都直指问题核心,没有任何冗余和歧义。

检查。编译环境在本地模拟运行样例数据。输入 6 6 3 3 (终点6,6,马在3,3)。控制点标记正确,边界初始化无误,核心循环递推结果与预期方案数一致。

指尖移动鼠标,悬停在那个橙色的“提交”按钮上。这一次,没有再被打断,没有犹豫。轻轻一点。

【题目】:P1002 过河卒
【提交者】:Y-K-F
【语言】:C++
【代码】:(略)
点击提交!

黄色的等待圆圈旋转。

评测系统在后台无声地奔流。对于这道入门级DP,测试数据并不刁钻,评测依旧迅捷。

圆圈消失。

一行更加醒目的绿色标识跳出:

状态:通过 (Accepted)
用时:3ms (洛谷评测机性能波动所致)
内存:836.00KB

又一个绿色的勾号徽章,静静地悬挂在提交记录的下方。

成了。
第二块基石,稳稳落下。

没有庆祝,没有喘息。杨凯斐甚至没有去看那绿色的徽章超过一秒。他的目光已经如同最精确的扫描仪,落在了屏幕下方的“相关题目”推荐栏。

【P1003】铺地毯 (入门) - 模拟 / 覆盖问题
【P1004】方格取数 (入门) - 双进程DP / 状态设计
【P1005】矩阵取数游戏 (入门→普及-) - 区间DP / 高精度(注意数据范围!)
【P1006】传纸条 (入门→普及-) - 双进程DP / 状态设计(类似方格取数)
【P1007】独木桥 (入门) - 思维题 / 相对运动转化
【P1008】三连击 (入门) - 枚举 / 排列组合
【P1009】阶乘之和 (入门) - 高精度运算基础 / 循环累乘累加

一片刺目的红色标注入侵视野。
但这一次,红色不再是嘲讽,而是淬炼的熔炉!是重生者必须亲手重铸的、每一块被前世轻视的基础钢铁!

他的鼠标指针没有丝毫停顿,精准地点击了【P1003】铺地毯。

题目刷开。【题目描述】为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域上铺放一些矩形地毯。一共有 n 张地毯,编号从 1 到 n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号……

模拟题。覆盖问题。
核心:逆序查找(因为后铺的覆盖先铺的)。
思路清晰得如同水晶:输入所有地毯坐标和大小,存储在数组中。查询点 (x, y),从最后一张地毯倒序检查,找到第一个覆盖该点的地毯编号即可。
陷阱:边界处理(地毯边界是整数点覆盖?题目通常说明),以及没有地毯覆盖的情况输出 -1。

代码在脑海中瞬间成型。指尖再次落在键盘上,敲击声稳定而持续,如同最精准的钟表机芯在计数着流逝的时间。

#include <iostream>
#include <vector>
using namespace std;

struct Carpet {
    int a, b, g, k; // (a,b)左下角, g横长, k纵长
};

int main() {
    int n;
    cin >> n;
    vector<Carpet> carpets(n);
    for (int i = 0; i < n; i++) {
        cin >> carpets[i].a >> carpets[i].b >> carpets[i].g >> carpets[i].k;
    }
    int x, y;
    cin >> x >> y;

    int ans = -1; // 默认无覆盖
    // 逆序遍历地毯:从最后铺设的(下标n-1)开始向前找
    for (int i = n - 1; i >= 0; i--) {
        const Carpet& c = carpets[i];
        // 检查点(x,y)是否在当前地毯覆盖范围内:在左下角(a,b)到右上角(a+g, b+k)构成的矩形内
        if (x >= c.a && x <= c.a + c.g && y >= c.b && y <= c.b + c.k) {
            ans = i + 1; // 地毯编号是下标+1
            break; // 找到最上面的一个,立刻跳出
        }
    }

    cout << ans << endl;
    return 0;
}

编译。本地测试。覆盖、边界、无覆盖情况均正确。
提交。

状态:通过 (Accepted)
用时:2ms
内存:696.00KB

绿色的勾。

下一个:【P1004】方格取数。双进程DP。状态 dp[i][j][k][l] 表示两条路径分别走到 (i,j) 和 (k,l) 时取得的最大数和。可优化为三维 dp[k][i][j] (k=i+j,表示当前步数,i为第一条路径横坐标,j为第二条路径横坐标,纵坐标由步数k和横坐标可推)。状态转移需考虑两条路径不重叠(亦可重叠,题目通常允许路径重叠但点值只取一次)。边界初始化需要小心。

代码敲击声再次密集响起,带着一种近乎冰冷的效率。

提交。
状态:通过 (Accepted)
用时:4ms
内存:1.12MB

下一个:【P1007】独木桥。思维转化。关键:两人相遇转身等同于两人灵魂“穿过”对方继续前进。因此,最短时间取决于所有人中离自己桥头最远的那个人走到尽头的时间(max(L - pos[i], pos[i]))。最长时间则等同于所有人都不转身,各自按原方向走到尽头所需时间的最大值(max( max(L - pos[i], pos[i]) ) )。本质是相对运动参考系的转换。

代码简洁得惊人:

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int L, n;
    cin >> L >> n;
    vector<int> pos(n);
    for (int i = 0; i < n; i++) cin >> pos[i];

    int minT = 0, maxT = 0;
    for (int i = 0; i < n; i++) {
        minT = max(minT, min(pos[i], L + 1 - pos[i])); // 最短时间取决于最慢的那个到达近端的时间
        maxT = max(maxT, max(pos[i], L + 1 - pos[i])); // 最长时间取决于最慢的那个到达远端的时间
    }
    cout << minT << " " << maxT << endl;
    return 0;
}

提交。
状态:通过 (Accepted)
用时:1ms
内存:676.00KB

绿色的勾如同冰冷的印章,一个接一个地盖下。

杨凯斐的眼睛因为长时间紧盯屏幕而有些干涩发红,但眼神却如同打磨过的寒铁,越来越亮,越来越锐利。每一次键盘敲击,每一次思路梳理,每一次精准的边界判定和状态转移,都在将他前世那块名为“基础不牢”的腐坏地基,一点点、极其缓慢却又无比坚定地挖除,替换上冰冷、坚硬、绝对稳固的钢铁!

他完全沉浸在这种近乎自虐般的高效“重铸”之中。机房的嘈杂声、显示器散发的热量、甚至时间本身的流逝,都被隔绝在外。他的世界里只剩下洛谷题库页面那不断滚动的红色标题,和他指尖下流淌出的、冰冷而精确的代码。

这种异常的专注和远超常人的解题速度,终究还是引起了一些细微的涟漪。

“靠!这家伙……”隔着一条过道的张涛压低声音,用手肘捅了捅旁边的李铭。他眼角的余光一直忍不住瞟向杨凯斐的屏幕。屏幕上刷新页面的速度太快,但每次刷新后,他似乎都能瞥到那短暂的、一闪而过的绿色徽章轮廓(AC标识)。更重要的是,杨凯斐敲代码的状态太吓人了,那几乎是不假思索、行云流水的动作,和他们这些对着题目抓耳挠腮、一行代码敲了删、删了敲的初学者形成了刺眼的对比。

“P1002……P1003……P1004……他怎么做得这么快?”李铭也侧过头,声音里充满了惊疑,“王老师刚讲了不到半小时吧?他……他刷了多少个了?”

“不知道,感觉没停过……”张涛艰难地咽了口唾沫,目光又不由自主地瞟向斜前方的某个背影。

林小雨坐在那里,背脊挺得笔直,显得有些僵硬。她的屏幕上,光标停留在P1001的代码框里,一行简单的 cin >> a >> b; 下面,是迟迟无法完成的 cout << a + b << endl;。她的手指悬在键盘上方,却迟迟无法落下,仿佛那简单的加法变成了无法逾越的天堑。

她的心思显然不在题目上。

她的眼角的余光,每一次屏幕的刷新,都会不受控制地、极其轻微地向斜后方扫去。每一次扫视,都能清晰地看到杨凯斐那沉浸在代码世界中的侧脸——双唇紧抿,下颌绷紧,专注得近乎冷酷。屏幕上代码滚动的速度让她心惊,每一次那熟悉的绿色徽章在余光中闪烁,都像是在她心头扎了一下。

他没事了?刚才那痛苦得如同濒死的模样,仅仅是因为“想到一些糟糕的事情”?
那他为什么……为什么在自己鼓起全部勇气说出那句话后,给出那样的反应?
为什么现在能像一台冰冷的机器一样,高效而无情地刷着一道道题目,仿佛刚才那场惊心动魄的表白从未发生过?

巨大的委屈和更深沉的困惑,如同沉重的铅块,压得她喘不过气。指尖悬在键盘上,却感觉指尖冰凉,敲不下任何一个字符。屏幕上那简单的A+B问题,此刻却像是一道无法跨越的深渊,嘲笑着她此刻的心乱如麻。

机房里的空气仿佛凝固了,弥漫着一种无声的张力。一边是杨凯斐近乎非人的、冰冷高效的刷题节奏,那敲击键盘的嗒嗒声如同密集的鼓点;另一边是弥漫在林小雨周围、沉重得几乎要滴出水来的低气压和无法落下的指尖。

王老师背着手,在过道里缓慢踱步,锐利的目光扫过每一个学生的屏幕。他自然也注意到了角落里异常高效的杨凯斐和明显不在状态的林小雨。他的眉头不易察觉地皱了一下。走到杨凯斐身后时,他停下了脚步,目光落在杨凯斐的屏幕上。

此时,杨凯斐正在提交【P1008】三连击(枚举所有三位数ABC,满足比例关系A:B:C=1:2:3,且A,B,C三位数所用数字1-9不重复)。他的代码刚按下提交。

绿色的 状态:通过 (Accepted) 瞬间跳出。

王老师的目光在那个绿色的标识上停留了一瞬,又扫了一眼杨凯斐打开的洛谷个人主页——那里清晰地显示着用户“Y-K-F”的最近提交记录:

P1001 - AC (0ms)
P1002 - AC (3ms)
P1003 - AC (2ms)
P1004 - AC (4ms)
P1007 - AC (1ms)
P1008 - AC (2ms)
...

一列下来,全是红色“入门”题,且全是清一色的绿色 AC!用时全部在毫秒级别!

王老师的目光在那个绿色的标识上停留了一瞬,又扫了一眼杨凯斐打开的洛谷个人主页——那里清晰地显示着用户“Y-K-F”的最近提交记录:

P1001 - AC (0ms) - 入门
P1002 - AC (3ms) - 入门
P1003 - AC (2ms) - 入门
P1004 - AC (4ms) - 入门
P1007 - AC (1ms) - 入门
P1008 - AC (2ms) - 入门
P1005 - AC (15ms) - 普及+/提高 (绿色!)
P1006 - AC (12ms) - 普及+/提高 (绿色!)

一列下来,从醒目的红色“入门”标识,竟赫然跳跃到了代表更高难度的绿色“普及+/提高”!更惊人的是,那些绿色标识的题目,提交时间同样短得惊人,全部在毫秒级别!

老王教了快十年信息竞赛,见过不少有天赋的学生,但在开学的第一堂基础课上,一个从未接触过竞赛编程的高二学生,像砍瓜切菜一样光速刷完入门题后,毫不停歇地直扑绿题,甚至连续两道(P1005和P1006)都瞬间AC?!

这已经超出了“有天赋”的范畴,简直匪夷所思!

王老师的眉头紧紧锁成一个川字。他不动声色地往前挪了小半步,目光如鹰隼般锐利地聚焦在杨凯斐当前的屏幕上。

屏幕上打开的,赫然是【P1010】幂次方(难度:普及/提高-,黄色!)。
【题目描述】任何一个正整数都可以用 2 的幂次方表示。例如:137 = 2^7 + 2^3 + 2^0。同时约定方次用括号来表示,即 a^b 可表示为 a(b)。由此可知,137 可表示为:2(7)+2(3)+2(0)。进一步:7 = 2^2 + 2 + 20(21 用 2 表示),3 = 2 + 2^0。所以最后 137 可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)。现在给定一个正整数 n (n ≤ 20000),请你编程将其表示为 2 的幂次方分解的形式(符合约定的格式)。

一道典型的递归应用练习,考察对递归边界、递归分解和字符串拼接的掌握。对于刚接触编程不久的学生,理解递归调用栈已是难点,更别提处理这种带括号嵌套的格式化输出。

然而,在王老师震惊的目光下,杨凯斐的指尖没有丝毫停顿!那敲击键盘的速度快得几乎带起残影,屏幕上代码如同瀑布般流畅倾泻:

#include <iostream>
#include <string>
using namespace std;

string solve(int n) {
    if (n == 0) return "0";
    if (n == 1) return "";
    if (n == 2) return "2";

    string res = "";
    bool first = true;
    // 从最高位幂次开始分解
    for (int i = 31; i >= 0; i--) {
        if (n & (1 << i)) { // 检查第i位是否为1
            if (!first) res += "+";
            else first = false;

            if (i == 1) {
                res += "2"; // 2^1 直接写2
            } else {
                res += "2("; // 否则写2( 然后递归分解指数
                if (i == 0) res += "0";
                else res += solve(i); // 递归处理指数部分
                res += ")";
            }
        }
    }
    return res;
}

int main() {
    int n;
    cin >> n;
    string ans = solve(n);
    // 处理特殊情况:n=1时solve(1)返回空字符串,此时应为"2(0)"
    if (ans == "") ans = "2(0)";
    // 处理n=2时返回"2",但题目要求格式应为"2" (而不是2(1))
    else if (ans == "2") ans = "2";
    cout << ans << endl;
    return 0;
}

精准的位运算判断(n & (1 << i))用于提取幂次!清晰的递归结构!对边界情况(n=0, 1, 2)的细致处理!对输出格式约定的严格遵守!

王老师的心跳都漏了一拍。这代码的成熟度、逻辑的清晰度、对递归的理解深度,绝不可能出自一个刚注册洛谷账号不到一小时的菜鸟之手!这完全是省赛选手级别的、经过大量练习沉淀下来的熟练度和思维模式!

就在王老师心神剧震的瞬间,杨凯斐已经敲下了最后一个字符,手指如闪电般移动到鼠标上,“啪”地一声清脆点击——提交!

黄色的等待圆圈刚出现不到半秒,便骤然消失。

屏幕上赫然跳出:
题目:P1010 幂次方
状态:通过 (Accepted)
用时:1ms
内存:708.00KB

又一个黄色的勾!这次的难度标记是刺目的黄色(普及/提高-)!

“嘶——”王老师身后,目睹了全程的张涛和李铭同时倒吸一口凉气,眼睛瞪得溜圆。他们连P1003都还没完全搞懂,杨凯斐已经在砍黄色的题目了?还又是秒过?!

这动静终于彻底惊动了整个机房。听到压抑不住的抽气声,不少学生都下意识地抬起头,目光顺着张涛和李铭的视线,聚焦到了杨凯斐的屏幕上。那明晃晃的黄色题目标识和绿色的“Accepted”徽章,如同投入平静湖面的巨石,瞬间在安静的机房里激起了无声的惊涛骇浪。

一道道目光充满了震惊、茫然和难以置信。这家伙……到底是什么怪物?

而在这片聚焦而来的目光中,斜前方的那个身影,猛地转过了头。

林小雨终于再也无法抑制。

她不顾一切地转过身,目光直接撞向杨凯斐的屏幕——屏幕上提交成功的页面清晰可见:黄色的难度标识,绿色的AC徽章,提交时间——就在刚刚!

她的瞳孔骤然收缩!

那些代码……那些解题思路……那些连王老师都为之色变的速度和准确……这绝不是她认识的那个杨凯斐!

一瞬间,所有的委屈、困惑、痛苦都被一种更强烈的、冰冷的惊疑所覆盖。她看着杨凯斐那张依旧沉浸于代码世界、专注得近乎陌生的侧脸,一个荒谬绝伦却又带着致命吸引力的念头如同闪电般劈开了她混乱的思绪:

刚才他那痛苦得濒死的模样……那绝对不仅仅是“想到一些糟糕的事情”!
这副非人的专注力和解题实力……更不可能是一朝一夕突然觉醒的天赋!

他身上……到底发生了什么?!

就在这死寂的、落针可闻的时刻,王老师低沉而带着巨大压迫感的声音,如同惊雷般在杨凯斐身后轰然炸响:

“杨凯斐!”

杨凯斐敲击键盘的手指猛地悬停在半空,如同被无形的力量冻结。他极其缓慢地、带着被打断深入思考的不适感,转过头。

王老师脸色阴沉如水,那双锐利的眼睛死死地盯着他,仿佛要穿透他的视网膜,直抵灵魂深处。他的声音不高,却带着一种令人窒息的威严,清晰地回荡在鸦雀无声的机房里:

“P1006那道传纸条,双进程DP,状态怎么设计的?方程怎么写?”
“还有P1005那个矩阵取数,区间DP加高精度,边界处理你是怎么考虑的?”
“现在!站起来!给我讲清楚!”

杨凯斐缓缓站起身,椅子腿与地板摩擦发出刺耳的声响。整个机房如同被按下了静音键,连呼吸声都清晰可闻。他能感受到三十多道目光如同探照灯般聚焦在自己身上,其中最为灼热的那道视线来自斜前方——林小雨正死死盯着他,眼眶泛红,下唇被咬得发白。

王老师的问题在空气中凝结成冰:
"P1006那道传纸条,双进程DP,状态怎么设计的?方程怎么写?"
"P1005矩阵取数,区间DP加高精度,边界处理你是怎么考虑的?"

这些问题像两把尖刀,直接刺向代码逻辑最核心的部分。普通学生面对突然的质询往往会慌乱,但杨凯斐的眼神却反常地平静下来。他垂下眼帘,睫毛在脸上投下细密的阴影,仿佛正在调取某个深藏的记忆库。

(深度思考模式启动——前世记忆回溯中)

【P1006传纸条】
双路径DP经典问题。两条路径同步移动,步数k=i1+j1=i2+j2。状态设计为dp[k][i1][i2],表示两条路径分别走到(i1,k-i1)和(i2,k-i2)时的最大价值和。转移方程需考虑四种移动组合(右右、右下、下右、下下),并处理路径重叠时只加一次权值的情况。边界条件要特别注意矩阵边缘的不可达状态...

【P1005矩阵取数】
区间DP+高精度模板题。定义dp[i][j]为取完区间[i,j]能获得的最大得分。状态转移:每次只能取最左或最右元素,因此dp[i][j]=max( dp[i+1][j]+a[i]2^{m-j+i}, dp[i][j-1]+a[j]2^{m-j+i} )。高精度实现采用vector存储大数,重载运算符处理进位...

(记忆回溯完成)

当杨凯斐再次抬眼时,眸中闪烁着某种令人心惊的冷静光芒。他的声音很轻,却带着金属般的质感,在寂静的机房里铮然作响:

"P1006的状态设计采用三维dp[k][i1][i2],其中k是步数,i1和i2分别是两条路径的横坐标。转移方程需要考虑四种移动组合..."

他边说边拿起记号笔,转身在白板上流畅地写下数学符号。笔尖与板面摩擦发出沙沙声,如同某种精密的机械在运作:

dp[k][i1][i2] = max(
    dp[k-1][i1][i2] + val,
    dp[k-1][i1-1][i2] + val,
    dp[k-1][i1][i2-1] + val,
    dp[k-1][i1-1][i2-1] + val
)
// 其中val需要判断(i1,j1)和(i2,j2)是否重合

"至于P1005的边界处理..."杨凯斐的笔尖突然停在半空,墨迹在白板上晕开一个小黑点。他的背影微不可察地僵了一瞬——这个细节被林小雨敏锐地捕捉到了。

(深度思考异常警告:检测到情感波动干扰)

在前世记忆中,P1005正是他省选崩盘的导火索。当时因为高精度运算的进位处理失误,导致最后三个测试点全错。此刻回忆那个血红色的WA提示,指尖仍会条件反射般颤抖。

但下一秒,他的笔锋突然加重,几乎要划破白板:
"边界条件是dp[i][i]=a[i]*2^m。高精度实现需要特别注意乘法运算时的零填充和进位..."

王老师的瞳孔微微收缩。这绝不是照本宣科的回答——那些对算法细节的严苛把控,对边界条件的病态执着,甚至提到高精度时下意识的咬字加重,都透露出一种经历过惨痛失败后才有的、近乎偏执的严谨。

"你之前系统学过算法?"王老师的声音带着压迫感。

杨凯斐放下记号笔,指关节因过度用力而发白:"没有。只是...做过一些预习。"

"预习?"王老师突然抓起鼠标,快速点开杨凯斐的洛谷提交记录,"你账号是今天刚注册的,但第一份提交就是完美AC?连编译错误都没有?"

整个机房响起一片倒抽冷气的声音。林小雨的指甲不知不觉陷进了掌心——她比任何人都清楚,杨凯斐昨天还在为期末考的VB基础题发愁。

诡异的沉默中,张涛突然小声嘀咕:"该不会是开挂了吧..."

这句话像投入油锅的水滴,瞬间引爆了窃窃私语。杨凯斐站在原地,脸色苍白如纸。那些质疑的目光如同无数把利刃,将他钉在耻辱柱上。最痛的那把来自斜前方——林小雨眼中的震惊逐渐被某种更复杂的情绪取代,像是看着一个陌生的怪物。

(深度思考警报:情感系统过载)

前世的记忆碎片突然暴走般涌现:
赛场上刺目的"0分"...
裁判冰冷的"作弊"判定...
论坛里铺天盖地的谩骂...
还有林小雨哭着冲出考场的背影...

"我没有!"杨凯斐突然失控地吼出声,声音嘶哑得可怕。他猛地转向林小雨,眼神中带着濒死般的哀求:"你相信我...我真的没有..."

这个反常的举动让所有人愣住。王老师皱眉正要说话,教室门突然被推开——

"王老师,打扰了。"教务处主任面色凝重地站在门口,"刚接到通知,去年NOI泄题案的调查有了新进展...需要您协助确认一些细节。"

"泄题案"三个字像一道闪电劈进杨凯斐的大脑。去年正是他前世参赛的那届!调查新进展意味着什么?会牵扯到他的重生吗?

王老师深深看了杨凯斐一眼,那目光仿佛能穿透灵魂:"这事没完。所有人继续练习,杨凯斐..."他顿了顿,"下周一带着家长来我办公室。"

当教室门重重关上时,杨凯斐像被抽走全身骨头般跌坐在椅子上。他不敢抬头,却能清晰感受到林小雨的目光如芒在背。机房里的键盘声重新响起,却再也没人敢讨论刚才的闹剧,只剩下一种诡异的、压抑的沉默。

(系统提示:深度思考模式因情感过载强制终止)

杨凯斐的视线模糊了。屏幕上未提交的P1010代码变得支离破碎,如同他此刻摇摇欲坠的重生计划。最讽刺的是,在经历这一切后,那道简单的A+B Problem依然静静躺在林小雨的屏幕上,无人解答。

教务处那扇厚重的实木门在身后合拢的刹那,杨凯斐仿佛被抽干了所有力气。办公室特有的消毒水味混合着陈旧文件的气息扑面而来,冰冷刺骨。王老师沉默地指了指靠墙的长椅,自己则和教务处的刘主任一起坐到了宽大的办公桌后。桌上摊开的几份文件,其中一份的标题刺痛了他的眼睛:《关于第23届NOI联赛疑似泄题事件补充调查报告》。

刘主任推了推眼镜,镜片后的目光锐利如刀,在杨凯斐苍白的脸上刮过。他拿起桌上的一份打印纸,那是杨凯斐在机房疯狂刷题的记录截图。

“杨同学,”刘主任的声音不高,却带着公事公办的冰冷压力,“解释一下吧。注册不到两小时,连续提交21份代码,从入门级(红)到提高级(绿),用时全部低于5毫秒,错误率为零。根据我们的教学经验,这几乎是不可能的。尤其是P1005矩阵取数和P1006传纸条这两道绿题,涉及双进程DP和区间DP加高精度,是高二下学期才会接触的核心知识点。”

杨凯斐的喉咙发干,像堵了一块烧红的炭。他能说什么?说自己是重生者?说这些题目在前世早已刻入骨髓?“我……提前预习了。”声音嘶哑得厉害,连他自己都觉得毫无说服力。

“预习?”刘主任冷笑一声,手指重重敲在打印纸上,“预习能到这个程度?连一次编译错误,一次逻辑调整都没有?每一行代码都像直接输出标准答案?王老师,”他转向王老师,“你是特级教练,你信吗?”

王老师没有立刻回答。他的目光一直锁定在杨凯斐身上,那眼神复杂得难以形容,有严厉的审视,深重的疑虑,甚至……还有一丝被欺骗的痛心?他缓缓开口,每一个字都像沉重的铅块砸下:“杨凯斐,我看了你的解题思路和代码风格。那不是预习能达到的熟练度。那是一种……千锤百炼后的本能。尤其是你处理高精度边界和双进程状态转移时的细节把控,没有大量实战训练和惨痛教训,根本做不到那种近乎偏执的严谨。告诉我,你真实的编程水平到底在哪里?”

真实的水平?杨凯斐的指尖深深掐进掌心。省选级别的动态规划?NOIP银牌?不,说出来更像是天方夜谭。

“我……无法解释。”他艰难地吐出几个字,垂下头,避开那两道几乎要将他洞穿的目光。办公室陷入了令人窒息的沉默,只有墙上挂钟秒针行走的“咔嗒”声,如同最后的倒计时。

就在这时,办公室的门被小心翼翼地敲响了。

刘主任皱眉:“谁?”
门被推开一条缝,露出林小雨那张毫无血色、眼眶通红的脸。她的身体微微颤抖着,仿佛用尽了全身的力气才站在这里。

“林小雨同学?”王老师有些意外,“有什么事?”

林小雨的目光飞快地扫过如遭雷击般僵住的杨凯斐,心脏像被一只冰冷的手攥紧,痛得她几乎窒息。但想到他刚才在机房那非人的、如同机器般的冰冷表现,想到那份让她感到陌生和恐惧的“强大”,那份巨大的委屈和惊疑瞬间压倒了所有的不忍。

她深吸一口气,指尖冰凉,将手里紧紧攥着的一张折叠的纸片放在门边的矮柜上,声音带着压抑的哭腔,却异常清晰:
“王老师,刘主任……我……我举报。杨凯斐他……可能用了作弊程序。还有……这个……”
她的目光最后落在杨凯斐身上,充满了痛苦、质问和被欺骗的愤怒:
“他刚才……根本没在做基础题。他在……刷绿题!黄题!那种我们根本不可能做出来的题!”
说完,她几乎是踉跄着退出门外,仿佛再多待一秒就会崩溃。

那张纸片,像一片烧红的烙铁,灼烧着办公室里每一个人的视线。刘主任大步走过去拿起来展开——那是一张从笔记本上匆忙撕下的纸,上面用铅笔潦草地画着一个简陋但结构清晰的流程图,旁边标注着复杂的变量名和状态转移逻辑(dp[i][j][k] = max(...)),标题赫然写着:【P1006 传纸条 双进程DP优化思路】。

而在流程图的下方,更加刺眼的是几行用不同颜色笔标注的小字:
【P1005高精度乘法核心代码段(伪码)】
【P1008三连击枚举算法优化建议】

空气彻底凝固了!

“啪!”刘主任狠狠一巴掌将那纸片拍在桌上,怒极反笑:“杨凯斐!人证物证俱在!你还有什么话说?林小雨亲眼所见,还有这提前准备好的解题秘籍!难怪你一路绿灯畅通无阻!”他转向王老师,语气斩钉截铁:“老王,事实很清楚。这就是赤裸裸的舞弊!利用某种提前获取的解题工具或者直接就是题库答案!这种行为性质极其恶劣,必须严肃处理!我建议立刻上报学校,记大过处分!取消竞赛资格!”

王老师的脸色变得极其难看。他拿起那张纸仔细看了看,又抬眼看向面无人色、摇摇欲坠的杨凯斐,眼神中的最后一丝信任彻底崩塌,只剩下冰冷的失望和愤怒。

“杨凯斐!你太让我失望了!”王老师的怒吼在办公室里回荡,“竞赛的核心是诚信!是钻研!是挑战自我!不是弄虚作假!你这是在侮辱这项赛事,侮辱所有付出努力的学生!”

“我没有作弊!那纸上的东西是我……”杨凯斐猛地抬头,眼中布满血丝,试图辩解那纸上的思路是他上课时随手写的草稿。

“够了!”刘主任厉声打断,“证据确凿,你还想狡辩?立刻通知你家长!停课反省!等候学校处理决定!”

巨大的屈辱和绝望如同冰冷的潮水,瞬间淹没了杨凯斐。百口莫辩!他能说什么?说自己是重生者,这些题前世刷过无数遍?谁会信?那只会被当成疯子!

就在这绝境时刻,王老师办公桌上的座机电话尖锐地响了起来,打破了死寂。

王老师余怒未消,抓起话筒,语气生硬:“喂?哪位?”

电话那头的声音似乎很急切,语速很快。王老师听着听着,脸上的怒容渐渐被一种难以置信的惊愕取代,眉头越皱越紧,眼神锐利地扫向桌上那份《泄题事件补充调查报告》,又猛地看向脸色惨白、宛如置身悬崖边缘的杨凯斐。

“什么?你确定?……时间点……去年?”王老师的声音陡然拔高,充满了震惊和浓浓的疑惑,“……好,我知道了。文件立刻发我邮箱!”

他重重挂断电话,深吸一口气,再看向杨凯斐时,眼神已经复杂到了极点,愤怒依旧,但更多的是一种深不见底的探究和惊疑。

办公室里再次陷入死寂,比之前更加沉重,更加诡异。

刘主任察觉到异常:“老王?怎么回事?”

王老师没有立刻回答刘主任,他的目光如同鹰隼般死死锁住杨凯斐,一字一句,带着一种洞穿灵魂的质询:

“杨凯斐……”
“那份泄题案补充调查的初步结果显示……”
“去年联赛期间,有参赛选手的账号及个人笔记,曾在异常时间段被外部IP访问并下载核心内容……”
“而技术追踪到的那个异常IP……”
“其地理位置信息……”
“竟然定位在你家!”

轰——!
如同一颗炸弹在杨凯斐脑中爆开!

去年?外部IP?他家?
这怎么可能?!
他前世是参赛者!是受害者!怎么可能去窃题?!

巨大的荒谬感和更深的恐惧瞬间攥紧了他的心脏。他重生回来才多久?难道命运的轨迹发生了更恐怖的扭曲?难道他重生本身,就已经被卷入了某个更大的阴谋之中?

冷汗瞬间浸透了他的后背。他张了张嘴,却发现自己发不出任何声音。

而王老师接下来的话,更是将他彻底推入了无底的深渊:

“刚才的电话是联赛技术组打来的。”
“他们要求……”
“立刻核查你名下所有可能的关联账号,尤其是……”王老师的指尖重重敲在电脑屏幕上,指向洛谷提交记录页面那个醒目的用户名——“Y-K-F”。
“这个今天刚注册的账号!”
“以及……”
王老师的声音冰冷彻骨,如同法官最后的宣判:
“你必须立刻、当场……”
“在监控下完成一道全新的、由技术组随机抽取的……”
“‌省选难度的动态规划真题‌!”
“证明你的‘实力’!”
“或者……”
“证明你的‘作弊’!”

监控探头的红色光点,如同魔鬼的眼睛,在头顶无声地闪烁。冰冷的机房此刻成了审判庭。王老师背对着他,站在唯一敞开的门口,身影挺拔如刀锋,彻底堵死了最后一丝退路。刘主任则坐在角落的教师机前,屏幕上是联赛技术组刚发来的加密题目包,他手指悬在解压密码上方,眼神冰冷如铁。

空气凝固成铅块,沉重地压在杨凯斐的胸口。每一次呼吸都带着灼痛。汗水沿着鬓角滑落,砸在冰冷的键盘上,碎裂无声。

“题目抽取完毕。”刘主任的声音打破了死寂,像法官敲下法槌,“【P3304】树上的染色博弈,省选难度,蓝标。你有三小时。”他点击鼠标,题目页面瞬间占据了杨凯斐的屏幕。

【题目描述】给定一棵 N 个节点的树 (N≤200000)。每个节点初始为白色。两人轮流操作,每次选择一个白色节点染成黑色,并强制将其所有相邻节点染成白色(无论原来颜色)。无法操作者输。求最优策略下先手是否必胜。
【输入格式】第一行 N,后续 N-1 行表示树边。
【输出格式】一行,“Win” 或 “Lose”。

一道典型的图论游戏题!核心是树上博弈的SG函数(Sprague-Grundy Theorem)与异或和的应用!算法框架清晰:深度优先遍历(DFS)整棵树,递归计算每个子树的SG值,最终根节点的SG值非零则先手必胜(Win),否则必败(Lose)。但魔鬼在细节:

  1. 状态定义: sg[u] 表示以 u 为根的子树的 SG 值。
  2. 转移方程: 关键在于模拟玩家选择 u 节点染色后的状态变化:选择 u 染色,会导致 u 直接相连的所有子树(子树根节点 v 与 u 相邻)的状态被“清除”(强制染白,相当于这些子树被移除)。因此,玩家选择 u 的操作,实质上是将局面分裂为若干个 互不相干 的子游戏——那些 不与 u 直接相连 的子树的 SG 值异或和。
  3. 递归计算: 对于节点 u,其 sg[u] 等于其所有可能的后续局面(即选择 u 后形成的各个独立子游戏)的 SG 值的 mex(minimum excludant,即不属于该集合的最小非负整数)。而后续局面 SG 值 = u 的所有 非直接相邻子节点 w 所在子树(即以 w 为根的子树)的 sg[w] 的异或和。

杨凯斐的视线扫过题目描述的瞬间,大脑深处某个尘封的闸门轰然洞开!

(深度思考:超载模式强制启动——前世记忆洪流冲击!)

记忆碎片1: NOIP省队集训营。深夜机房。电脑屏幕上正是这道题的变种!队友在激烈争论:“不对!节点被选后清除的是直接邻居,但邻居的子树里那些不直接相连的节点形成的子游戏状态还在!必须递归下去!” 当时他花了整整一夜,调试到双目充血才理清递归边界和状态转移的逻辑链条。

记忆碎片2: 区域赛热身赛。键盘敲击如暴风骤雨。他正用这道题的思路解决一道更难的博弈题。指尖飞舞,代码行云流水,屏幕上绿色的AC标志亮起,队友的欢呼在耳边炸响。

记忆碎片3: 裁判冰冷的声音在死寂的赛场上空回荡:“选手杨凯斐,提交代码……经反作弊系统判定……存在异常相似性……成绩取消……” 屏幕上刺目的红色“DISQUALIFIED”!整个世界天旋地转!论坛刷屏的“作弊狗”!林小雨泪流满面转身跑开的背影!

“呃啊……” 一声压抑到极致的痛苦呻吟从杨凯斐喉咙里挤出。冷汗瞬间浸透后背,眼前的代码编辑区和题目描述开始扭曲、旋转。强烈的眩晕感和窒息感如同巨浪般袭来,他猛地用手撑住额头,指关节捏得发白,身体控制不住地剧烈颤抖。

“杨凯斐!”王老师严厉的声音如同惊雷,“集中注意力!计时已经开始!”

那声音像鞭子抽在杨凯斐的神经上。他猛地甩了甩头,试图驱散那些撕裂灵魂的记忆碎片。重生!他回来了!这是证明清白的唯一机会!不是为了竞赛资格,是为了撕碎那顶“作弊”的帽子!为了……让她知道……

“呼……呼……” 他强迫自己深呼吸,布满血丝的双眼死死盯住屏幕。指尖带着无法抑制的颤抖,敲下了第一个字符 #include <iostream>


与此同时,高二(7)班教室。

最后一节课的下课铃早已响过,教室里空荡荡的。只有林小雨一个人,像失了魂一样坐在自己的座位上。手指无意识地摩挲着书包夹层里那本硬壳笔记本——那本属于杨凯斐的笔记本。

两个小时前,她在办公室门外放下那张“举报”草稿纸,几乎是逃离了现场。杨凯斐瞬间惨白的脸和绝望的眼神,如同烧红的烙铁,在她心底烫下深深的印记。巨大的愧疚和后怕啃噬着她。她做了什么?她真的把他推向了毁灭的深渊吗?

鬼使神差地,回到教室后,她拿出了这本之前偶然捡到的、杨凯斐掉落的笔记本。封面是简单的黑色,没有任何标记。她之前以为只是普通的课堂笔记,从未翻开过。

此刻,在那份几乎要将她撕裂的复杂情绪驱使下,她颤抖着翻开了扉页。

没有名字。只有一行用铅笔用力写下的、字迹都有些模糊扭曲的数字:

2023-07-15

林小雨的心猛地一跳!这个日期……正是去年全国青少年信息学奥林匹克联赛(NOI)决赛的日子!一个高二学生,为何会写下这个日期?

她压下心头莫名的悸动往后翻。前面几页是潦草的数学公式和物理题解,字迹随意,和杨凯斐平时的作业本没什么区别。但越往后翻,她的心跳越快,一股寒意顺着脊椎爬升。

后面的内容……完全变了!

不再是高中生熟悉的数理化知识。

取而代之的,是密集的、如同天书般的英文缩写、数学符号、逻辑流程图!

  • 页角标注:[2023 NOI D1T3] Max Flow Opt (Dinic + HLPP)
  • 凌乱的推演: dp[mask][pos] = min_{k in mask}(dp[mask xor (1<<k)][k] + dist[k][pos]) —— 旁边注释:TSP状压DP优化,状态压缩,旅行商问题。
  • 复杂图示: 一棵巨大的树状结构,节点间布满箭头,标注着 LCA - 倍增法 / 树链剖分重链轻儿子dfs序
  • 算法分析:Splay 树维护区间反转懒标记传播顺序易错点:先下传父节点标记,再下传自身标记,否则旋转后父节点标记会覆盖子节点标记更改…”
  • 一行加粗的注释:警惕!2024省选陷阱:P3304博弈题,表面SG异或,实则需分层考虑子树独立性,边界:叶子节点sg=1

林小雨的手抖得几乎拿不住笔记本!这些名词她闻所未闻!这些题目年份更是诡异绝伦!2023NOI?2024省选?这怎么可能?!

她的目光死死锁定在最后那一行加粗的注释上:
P3304博弈题……叶子节点sg=1

P3304……这不正是刚才刘主任说的……那道省选的随机题目的编号吗?!考题……被提前预测了?在一个高二学生的笔记本上?

一个荒谬绝伦、让她浑身血液几乎冰冻的念头,如同闪电般劈入她的脑海:

杨凯斐刚才在机房那非人的表现……他解题时那种仿佛早已熟稔于心的流畅……他面对王老师质询时脱口而出的精妙算法分析……难道……难道不是因为作弊?

而是因为……他……他“知道”?!

他知道这些题!他甚至知道……未来的题?!

“轰——!”

一声低沉悠长的钟声毫无征兆地从教学楼顶传来,如同敲在林小雨的心尖上!

那是……竞赛机房的专用提示钟!三小时答题时间……结束了?!

林小雨像被电流击中,猛地从座位上弹了起来!笔记本“啪”地一声掉在地上,摊开在写着“P3304”和“叶子节点sg=1”的那一页。

她的脑子一片空白,只剩下一个疯狂的念头驱动着身体:

去找他!现在!立刻!

她甚至来不及捡起笔记本,像一阵风般冲出教室,用尽全身力气朝着信息竞赛机房的方向狂奔!

冰冷的风刮过脸颊,心脏在胸腔里疯狂擂动。走廊里回荡着她急促慌乱的脚步声。眼前晃动着杨凯斐痛苦绝望的眼神,翻飞着笔记本上那些来自“未来”的恐怖字句……

当她终于气喘吁吁、踉跄着冲到机房门口时,眼前的景象让她如同被冰水浇头,瞬间僵在原地!

机房的门敞开着。

里面一片死寂。

王老师和刘主任背对着门口,如同两尊沉默的石像,紧紧盯着监控屏幕。

而在他们视线聚焦的中心——

杨凯斐瘫坐在椅子上,脸色灰败如纸,嘴唇没有一丝血色,整个人像是被抽走了所有生气。

他的电脑屏幕上,赫然显示着最终编译运行的输出结果。

只有孤零零的两个单词。

而在那结果的上方,是计时器冰冷的定格数字:02:59:57

距离三小时时限结束,仅剩最后3秒!

林小雨的心脏骤然停跳!她瞪大眼睛,死死盯着屏幕上的那行字,巨大的恐惧和窒息感瞬间攫住了她的喉咙。

屏幕上,清晰地显示着:

Win

王老师和刘主任死死盯着屏幕上的“Win”,空气凝固得像块玻璃。那简单的三个字母在惨白的荧光屏上灼烧着视网膜,与旁边鲜红的计时数字【02:59:57】形成刺目的对比。

三秒钟。
生与死的距离。

刘主任的喉结剧烈滚动了一下,仿佛咽下了一块烧红的炭。他猛地转向王老师,声音带着难以置信的干涩:“老王……他……他做出来了?在最后一刻?省选蓝题?” 巨大的震惊甚至暂时压过了之前对作弊的笃定。

王老师没有回答。他的眼神锐利如手术刀,越过屏幕上那个孤零零的“Win”,刺向杨凯斐——那个瘫在椅子上,如同刚从水里捞出来般浑身湿透、脸色灰败、眼神空洞的少年。

那绝不是作弊成功后的样子。那是……劫后余生的虚脱,是灵魂被彻底掏空后的麻木,甚至还残留着某种深入骨髓的痛苦痕迹。王老师的心脏像是被一只无形的手攥了一下,那个“作弊”的结论,此刻显得如此苍白和……不合时宜。

“代码。”王老师的声音低沉沙哑,带着一种不容置疑的权威,“调出完整代码。监控录像回放最后三分钟的操作过程。立刻!”

刘主任也被王老师凝重的语气震慑,立刻操作起来。屏幕上瞬间切换到代码编辑器界面,密密麻麻的C++代码布满了屏幕。监控录像的分屏窗口弹出,精准定位到最后三分钟——画面里,杨凯斐的手指在键盘上痉挛般地敲击着,速度快得几乎看不清,每一次敲击都带着一种濒临崩溃的急促和绝望。他的身体前倾得几乎要扑到屏幕上,汗水顺着额发成串滴落。最后几秒,他几乎是闭着眼睛,凭着某种深入骨髓的本能,猛地按下了提交键!

王老师的目光如同探针,飞速扫过屏幕上滚动的代码。作为经验丰富的竞赛教练,他一眼就能看出关键:

  • 核心逻辑清晰: 定义了 vector<int> sg(n+1, 0) 存储每个节点的SG值。
  • DFS递归框架: 函数 void dfs(int u, int fa) 准确遍历树结构。
  • 状态转移精准:
    • 对于当前节点 u,先递归计算所有子节点 vfa 除外)的 sg[v]
    • 创建一个集合 mexSet 收集所有可能的 后续局面SG值(即选择 u 后,形成的各个独立子游戏的SG值异或和)。
    • 关键点1(子树独立性): 代码正确地将选择 u 后形成的局面,视为所有 不与 u 直接相邻的子节点 w(这些 w 可能是 v 的子节点,或者其他分支的节点)所在子树的独立子游戏!这正是树上博弈的难点!mexSet.insert(xorsum); 这行代码清晰地体现了这一点。
    • 关键点2(边界处理): 找到了处理叶子节点的代码:if (g[u].size() == 1 && u != 1) { sg[u] = 1; ... }。注释清晰写着:// Leaf node, sg=1。与笔记本上那句恐怖的预言“警惕!2024省选陷阱:P3304博弈题,表面SG异或,实则需分层考虑子树独立性,边界:叶子节点sg=1” 严丝合缝!
  • MEX计算: 最后,sg[u] = mex(mexSet); 的函数调用,完美实现了计算不在 mexSet 中的最小非负整数这一SG函数核心定义。

这绝不是靠死记硬背答案能写出来的!这是对算法本质深刻理解后的创造!是经历过无数次推演和调试后形成的肌肉记忆!

王老师猛地吸了一口凉气,后背窜起一股寒意。他强行压下心中的惊涛骇浪,声音带着一丝不易察觉的颤抖,却异常严厉地命令刘主任:“查!立刻查提交日志!精确到毫秒!看是否在时限内!”

刘主任的手指在键盘上飞速跳动,调出后台精确的提交日志数据。几秒钟后,结果弹出:

提交时间戳:202X-XX-XX 15:29:59.998
时限截止:202X-XX-XX 15:30:00.000

相差:2毫秒!

在监控画面里那个计时器显示【02:59:57】(意味着还剩3秒)的时刻,系统后台精确的时间戳显示,距离三小时时限结束,仅剩最后的2毫秒!

千钧一发!真正意义上的压哨绝杀!

“嘶……” 刘主任倒抽一口冷气,彻底失语。看向杨凯斐的目光充满了极致的震撼和……茫然。

王老师猛地闭上眼,再睁开时,眼中风暴更甚。他缓缓转过身,不再看屏幕,不再看时间戳,而是将目光投向门口——那个僵立如雕像、脸色煞白如同女鬼、眼睛死死盯着杨凯斐的林小雨身上。

他的声音不高,却如同冰冷的钢铁,在死寂的机房里砸出沉重的回响,每一个字都清晰地传入林小雨的耳中:

“林小雨同学。”
“你刚才说……”
“他有一本笔记本?”

这句话像一道闪电,瞬间劈开了林小雨被恐惧和混乱冻结的意识!她猛地惊醒,巨大的恐慌瞬间淹没全身!笔记本!那本摊开在地上的、写满了“未来”秘密的笔记本还在教室!

“不!没有!” 林小雨下意识地失声尖叫,声音尖锐得变了调,“我……我什么都不知道!” 她像是被烙铁烫到脚,猛地转身,用尽全身力气朝着高二(7)班的方向亡命狂奔!什么愧疚,什么求证,什么质问,统统被抛诸脑后!她现在只有一个念头:毁掉那本笔记本!立刻!马上!

她的反应,她的惊恐,她的逃离,本身就是最有力的证据!

王老师眼神一厉:“拦住她!” 刘主任虽然还在巨大的震惊中没完全回神,但身体本能地就要冲出去。

就在这电光火石的一刹那——

“嚯嚓——!!”

一声沉闷的重物落地声,伴随着痛苦的呻吟骤然响起!

所有人的目光瞬间被拉回机房中心!

杨凯斐——那个刚刚完成不可能任务的少年——连同他坐着的椅子一起,直挺挺地向后翻倒,重重地摔在了冰冷坚硬的防静电地板上!

他双眼紧闭,眉头痛苦地紧锁,嘴唇微微颤抖却发不出任何声音。刚刚被汗水浸透的衣服贴在身上,此刻显得他更加单薄脆弱。那张年轻却写满了疲惫和挣扎的脸,在机房惨白的灯光下,呈现出一种近乎透明的灰败。

他昏了过去。

彻底的、毫无预兆的昏厥。仿佛那三小时耗尽的不只是精力,更是透支了他灵魂深处最后维系清醒的弦。

“凯斐!” 王老师脸色大变,一个箭步冲了过去,蹲下身急切地检查他的状况。刘主任也顾不上追林小雨了,慌忙跑过来:“怎么回事?低血糖?压力太大?”

王老师的手指搭在杨凯斐冰冷汗湿的颈动脉上,感受到那微弱却急促的搏动。他看着少年紧闭的眼睫下那抹浓重的阴影,看着他即使在昏迷中依然无法舒展的眉头,一股强烈的、混杂着震撼、疑虑、后怕和一丝丝难以言喻的……心疼的情绪,如同汹涌的潮水,淹没了他。

这绝不是装出来的。

这是真正意义上的……心力交瘁。

门口,林小雨狂奔的身影早已消失在走廊尽头。而机房里,只剩下倒计时结束后的绝对寂静,屏幕上那孤零零的“Win”依旧刺目,地上昏迷的少年无声无息。

风暴,并未平息。林小雨手中的笔记本,成了下一个即将引爆的、更加恐怖的漩涡中心。而杨凯斐的昏迷,让一切都陷入了更深的谜团与悬疑之中。

实验楼幽暗的楼梯间,林小雨的心脏像是要从喉咙里跳出来,每一次搏动都牵扯着左臂撕裂般的剧痛。她死死咬着下唇,铁锈味的腥甜在口腔里弥漫,强迫自己不要发出一点声音。血迹顺着小臂蜿蜒流下,在她跑过的主教学楼到实验楼这段路上,留下断续的、不易察觉的暗红色斑点,像一串通往地狱的足迹。

她冲进三楼僻静的美术教室,反手死死抵住门。冰冷的汗水和泪水混在一起,模糊了视线。笔记本!她几乎是扑向书包,颤抖着掏出那本黑色的、仿佛来自深渊的笔记本。怎么办?!

烧掉?来不及!撕碎?碎片也会被发现!藏起来?藏哪里才安全?!

目光扫过教室角落堆放的静物模型和蒙尘的画架,最终定格在几个半人高的、用来装大幅油画和画具的帆布画箱上。它们半开着,堆积着旧画布、颜料管和松节油瓶子。

没有时间犹豫了!她听到走廊远处似乎传来了急促的脚步声!是王老师?还是保安?!

林小雨猛地拉开一个画箱,粗暴地将里面的旧画布和杂物刨出来。冰冷的触感让她打了个哆嗦。她将笔记本用沾血的袖口裹紧,塞进画箱最深处,又胡乱抓起几块沾满厚重油彩的画布、揉成一团的废稿纸、还有几个空颜料管盖在上面。刺鼻的松节油和亚麻籽油的气味瞬间掩盖了淡淡的血腥味。

她刚把箱子盖上,脚步声已经到了门外!

“咚!咚!咚!” 敲门声带着不容置疑的力道。
“林小雨同学!开门!我们知道你在里面!”是王老师低沉而严厉的声音,带着一丝喘息。

林小雨瞬间僵住,血液似乎都冻结了。她背靠着冰凉的画箱,身体抖得像风中的落叶。左手掌心还在渗血,黏腻的触感提醒着她刚才的疯狂。她死死咬住嘴唇,不敢发出一丝声响。

“林小雨!” 王老师的声音提高了一个八度,带着明显的焦灼,“开门!杨凯斐在机房昏倒了!情况很不好!我们需要知道那本笔记本到底怎么回事!”

轰——!
杨凯斐昏倒了?!
这个消息如同重锤,狠狠砸在林小雨的心口。刚才机房门口看到他灰败如纸的脸和屏幕上孤零零的“Win”带来的巨大冲击还未平息,此刻又添上了新的恐惧和……愧疚?她脑子里一片混乱,疼痛、恐惧、对杨凯斐状况的担忧交织在一起,让她几乎崩溃。

门外的王老师显然失去了耐心。“刘主任,去找钥匙!或者联系后勤强行开锁!” 他的声音不容置疑。

强行开锁?!林小雨的恐慌达到了顶点。决不能让他们进来!尤其是看到这个画箱!她像受惊的兔子,猛地从画箱旁弹开,几乎是手脚并用地爬向教室后门——那里连着一个小露台,露台下方是实验楼后墙和学校围墙夹着的窄巷。

她顾不上手臂的剧痛,拉开后门冲了出去。冰冷的风瞬间灌满衣襟。露台不高,只有两米多,下面堆着一些废弃的石膏像和建筑垃圾。

来不及思考了!她听到前门传来钥匙插入锁孔的金属摩擦声!

林小雨用尽最后的力气,翻身越过露台栏杆,闭着眼睛跳了下去!

“砰!” 沉闷的撞击声。她重重摔在一个废弃的软雕塑棉包上,巨大的冲击力让她眼前一黑,左臂的伤口传来撕心裂肺的疼痛,差点让她晕厥过去。她强忍着剧痛和眩晕,不顾一切地爬起来,踉跄着冲进窄巷的阴影里,消失在错综复杂的校园建筑群深处。


同一时间,医务室。

浓烈的消毒水气味填充着感官。心电监护仪发出规律而冰冷的“嘀嘀”声,屏幕上绿色的波形起伏跳跃,是这片死寂中唯一的动态。杨凯斐躺在狭窄的病床上,脸色依旧苍白如纸,紧闭的双眼下是浓重的阴影,嘴唇干裂失去血色。一根静脉输液针扎在他右手背上,透明的液体正缓慢滴入血管。

王老师站在床边,脸色凝重得如同暴风雨前的铅云。校医张老师——一个经验丰富的中年医生——刚做完初步检查。

“生命体征平稳,血压偏低,心率偏快。”张老师推了推眼镜,声音低沉,“没有明显外伤。初步判断是极度精神紧张、过度透支导致的急性应激反应,类似于一种……精神层面的崩溃。身体保护性昏厥。他把自己逼得太狠了。”他看了一眼王老师,“需要进一步观察,等他自然苏醒。我给他用了点葡萄糖和生理盐水补充能量和水分。”

王老师点了点头,目光却没有离开杨凯斐的脸。少年即使在昏迷中,眉头依然紧紧锁着,仿佛承受着难以言喻的痛苦。那在机房最后三分钟如同疯魔般的敲击,那压哨提交后的彻底虚脱……一幕幕在王老师脑海中回放。

“他……有没有可能……”王老师的声音艰涩,“是装的?”

张老师果断摇头:“不太可能。神经性昏厥可以伪装一时的心跳呼吸变化,但很难长时间维持这种深度无反应的昏迷状态,尤其是对生理盐水输注完全没有反应。而且,”他指了指杨凯斐额头和脖颈间依旧未干的冷汗,“这种全身冷汗,是强烈的自主神经反应,装不出来。”

王老师沉默。他的目光扫过杨凯斐放在床边、沾着汗水和灰尘的书包。笔记本……林小雨惊慌逃离时那声绝望的尖叫犹在耳边。一个模糊的猜测,一个疯狂到他自己都不敢深信的念头,如同毒藤般悄然缠绕上他的心脏。

他深吸一口气,对张老师说:“麻烦您再仔细检查一下他全身,看看有没有……任何异常的电子设备?植入物?或者……特殊的痕迹?”

张老师愣了一下,显然没料到这个要求,但还是点了点头:“可以。”


(深度昏迷意识层:记忆战场防御系统超载)

杨凯斐感觉自己坠入了无边的数据深渊。意识不再是连贯的思绪,而是破碎的、灼热的、互相撕咬的碎片洪流。

【警告!核心记忆防火墙遭受未知冲击!冗余备份模块异常唤醒!】
冰冷的电子合成音,如同来自宇宙尽头的审判,在他意识深处轰鸣。

眼前不再是黑暗。是无数疯狂跳动、互相覆盖的代码窗口!
是无数张扭曲变形、咆哮着“作弊者!”的脸孔!
是前世赛场上刺眼的“DISQUALIFIED”红字!
是林小雨泪流满面转身跑开的背影!
是机房监控探头的红色光点!

【系统过载:大脑皮层神经元放电频率突破安全阈值!边缘系统(恐惧/痛苦处理中心)持续高负荷运转!】
痛苦!尖锐的、如同亿万根银针同时刺穿灵魂的痛苦!前世被冤枉的绝望、重生后秘密暴露的恐惧、强行调用超越身体极限的知识带来的撕裂感……如同失控的核反应堆,在他的神经突触间疯狂引爆!

【防御协议启动:强制深度休眠指令下发!神经递质阻断剂释放!】
一股冰冷的洪流猛地席卷过燃烧的意识!像液态氦浇灌在超频运转的CPU上!所有的声音、画面、情绪瞬间被冻结、抽离!那撕裂灵魂的痛苦被强行压制,只剩下无边无际的、令人窒息的虚无和冰冷……

【紧急状态:检测到外部强效抑制剂(丙泊酚)注入!与内部阻断剂叠加效应!意识锚点丢失风险!】
【启动紧急预案:核心人格备份挂起!深层记忆区锁定!表层意识流接管躯体基础反射…】
冰冷的指令如同最后的丧钟。杨凯斐感觉自己最后一点“自我”的意识,被一股无法抗拒的力量狠狠剥离、压缩、塞进一个狭小的、冰冷的黑匣子深处。黑匣子外部,是汹涌的冰川,冻结了他所有的情感和记忆。

【表层意识激活:维持生命体征……执行基础反射……】
【核心备份沉入底层休眠……等待……唤醒信号……】

现实世界中,杨凯斐的身体在病床上极其轻微地抽搐了一下,随即陷入了更深沉的、仿佛连灵魂都凝固的平静。心电监护仪上,原本有些急促的心率,在丙泊酚(一种短效静脉全身麻醉药)注入后,变得缓慢而规则。

张老师刚刚完成检查,对王老师摇摇头:“没有任何异常电子设备或植入物痕迹。只有长期熬夜的黑眼圈和……过度用脑的疲惫。”他熟练地戴上无菌手套,拿起喉镜。“丙泊酚起效快,代谢快,先做个气管插管以防万一他呼吸道出问题。”

冰冷的喉镜金属片探入口腔深处……


美术教室。

王老师面色铁青地站在敞开的画箱前。刘主任和随后赶来的保安翻遍了整个教室,除了地上一点未干透的、暗红色的可疑痕迹(指向后门露台方向),以及画箱里被粗暴翻动过的杂物和一缕淡淡的、被油彩味掩盖的血腥气之外,一无所获。

“血迹……露台……”王老师走到后门,看着露台边缘栏杆上一点新鲜的泥土蹭痕,目光投向下方窄巷堆放的废弃软包雕塑上那个明显的人形凹陷。一切都指向林小雨刚刚从这里仓皇逃离。

他心中的疑云翻滚得更甚。林小雨那惊恐万状的反应,这不顾一切的亡命跳窗……那本笔记本里到底藏着什么?让她不惜自伤也要掩盖?

他走回教室,目光再次落在那只被翻得凌乱的画箱上。一种强烈的直觉驱使着他,他不顾上面沾着斑驳的油彩和灰尘,再次俯身探手进去摸索。手指在冰冷粗糙的画布和废纸团中穿梭……

指尖突然触碰到一个异常坚硬、带有棱角的物体轮廓!被包裹在一个有些湿润的布团里!

王老师的心猛地一跳!他小心翼翼地拨开掩盖物——

一本黑色的硬壳笔记本!封面沾着新鲜的、暗红色的血迹

他屏住呼吸,用戴着手套的手指(刚才检查杨凯斐时戴上的无菌手套还没脱下)捏住一角,缓缓抽出。

笔记本的硬壳被血染红了一角,湿漉而粘腻。王老师强忍着不适,翻开扉页。

那行模糊的数字【2023-07-15】映入眼帘,下面空无一物。

他迅速翻动书页。前面几页是正常的数学物理笔记,毫无异常。跳过……继续翻……直到后面!

密集的、超越高中范畴的算法名词、流程图、代码片段……如同密集的诅咒映入眼帘!【Dinic + HLPP】、【TSP状压DP优化】、【LCA倍增法】、【Splay树区间反转】……每一个名词都像冰冷的子弹,射向他固有的认知!

他的手指颤抖着,飞快地向后翻!他要找最关键的那一页!那个预言了考题的魔鬼箴言!

终于!他找到了!

那一页顶部,赫然用铅笔潦草地写着:【警惕!2024省选陷阱:P3304博弈题……】

然而!

就在这一行字的下方,那原本应该写着解题关键“边界:叶子节点sg=1”的位置!

一片刺目的、猩红的血迹,如同一个粗暴的封印,彻底覆盖了那行至关重要的文字!连带着旁边的【P3304】编号和部分注释,都湮灭在粘稠的殷红之下!

“嘶……” 王老师倒吸一口冷气,心脏像是被一只无形的手死死攥住!

笔记本!未来的题目!被提前知道的题目!还有……这触目惊心、不惜以鲜血为代价也要掩盖证据的行为!

他猛地合上笔记本,那冰冷的硬壳和未干的血迹粘在他的手套上,带来一阵令人作呕的滑腻感。真相的碎片在他脑中疯狂碰撞:杨凯斐匪夷所思的解题能力,林小雨亡命跳窗的恐慌血迹,这本沾染鲜血的未来笔记……

他抬起头,望向医务室的方向,眼神变得无比复杂。那里躺着一个刚刚用命证明了自己“实力”的少年,而这里,却藏着一本用血封印的、指向“作弊”的“未来之书”。

风暴不仅没有平息,反而裹挟着更加黑暗、更加恐怖的漩涡,向所有人席卷而来。那被鲜血遮蔽的最后答案,成了悬在深渊之上、摇摇欲坠的达摩克利斯之剑。

旧图书馆的尘埃在昏暗中悬浮,如同凝固的时间颗粒。空气里弥漫着腐朽纸张和陈年木头混合的陈腐气味,浓郁得令人窒息。唯一的亮光来自高处狭窄窗户透进来的、被铅灰色云层稀释的冬日天光,勉强勾勒出高耸书架投下的、如同巨大墓碑般的狰狞阴影。

林小雨蜷缩在最深处两个沉重铁皮书架形成的狭窄夹角里。冰冷的铁锈味混合着灰尘钻进鼻腔。左臂的伤口还在隐隐作痛每一次心跳都带来沉闷的钝击感。她甚至能感觉到粘稠的温热渗透了临时包裹的纸巾布料,在皮肤上缓慢扩散。恐惧和失血的眩晕感如同冰冷的潮水,一波波冲击着她摇摇欲坠的意识。

她从书包最内层的夹袋里,颤抖着掏出了那本——那本让她坠入深渊的黑色硬壳笔记本的副本

重生前的杨凯斐,经历过被举报的惨痛教训,早已养成了对核心秘密近乎偏执的防护习惯。真正的“未来之书”只有一本,贴身携带。而这一本,是他在某个极度焦虑的深夜,凭借惊人的记忆力和复原能力,用最原始的方式——手抄——复刻下来的内容备份!目的只有一个:万一真本遗失或暴露,他至少能知道敌人拿到了什么。但他做梦也想不到,第一个真正“暴露”并试图毁灭它的,会是林小雨!

她翻开副本,冰冷的硬壳封面刮蹭着掌心未愈合的伤口,带来一阵刺痛。笔记本里那些来自“未来”的冰冷字句再次刺入眼帘:【2023 NOI】、【TSP状压DP】、【Splay树区间反转】……还有那如同魔鬼契约般的核心预言:【警惕!2024省选陷阱:P3304博弈题,表面SG异或,实则需分层考虑子树独立性,边界:叶子节点sg=1】

这行字,如同烧红的烙铁,烫得她灵魂都在尖叫!就是它!就是这行字,让她在杨凯斐的笔记本上看到后,瞬间联想到机房里的考题,引发了后面一系列失控的连锁反应!它证明了杨凯斐“知道”,证明了这本笔记的恐怖来源!

毁灭它!
必须立刻、彻底、不留一丝痕迹地毁灭它!

林小雨的牙齿死死咬住下唇,血腥味在口中弥漫。她不顾左臂的剧痛,用还能活动的右手,猛地抓住写着【P3304】和【叶子节点sg=1】的那一页!

“嘶啦——!”

一声刺耳的、令人牙酸的撕裂声在死寂的图书馆里骤然响起!纸张坚韧的纤维在她手中断裂。她像是要撕碎缠绕着自己的噩梦,用尽全身的力气,疯狂地撕扯着!一页!两页!写满疯狂“预言”的纸张在她手中扭曲、破碎!

还不够!远远不够!撕碎的纸片可以被拼凑!必须彻底湮灭!

她的目光落在书包角落的一小盒火柴上——那是美术课用来点燃松节油灯芯的。冰冷的绝望催生出最炽热的疯狂!她抓起火柴盒,粗糙的磷面摩擦着手指。

“嚓!”
微弱的火苗在昏暗的光线下跳跃起来,橘黄色的光芒映在她布满泪痕和灰尘、苍白如纸的脸上,投下摇曳扭曲的阴影,如同地狱归来的幽魂。

她将手中揉成一团的破碎纸页,颤抖着凑近了那簇小小的、跃动的火苗。

火焰贪婪地舔舐上纸张的边缘,焦黑的痕迹迅速蔓延,卷曲,明亮的火舌猛地窜起,燎烤着她的指尖,带来灼痛!

泪水混合着汗水滚滚而下。火光中,那些破碎的代码符号、英文缩写、数学公式在扭曲变形,发出最后的、无声的尖叫,化为飞舞的黑色灰烬。那行“边界:叶子节点sg=1”的诅咒,在火焰中挣扎、扭曲、最终化为虚无。

烧!烧掉这该死的秘密!烧掉这带来恐惧和背叛的源头!烧掉……她心底那份复杂的、让她痛不欲生的……对杨凯斐的……

就在这时——

“滴……滴……滴……滴……”

医务室内,心电监护仪原本规律平稳的嘀嗒声,毫无征兆地加速了!频率陡然提升,如同密集的鼓点敲打在寂静的空气中!

张医生猛地抬头,眼神锐利如鹰:“心率上升!窦性心动过速!107……115……122……还在升!”他迅速看向血压监测袖带,“血压也在升高!90/60……升到105/70了!”数据异常得极其突兀!

“怎么回事?!”王老师的心瞬间提到了嗓子眼,目光紧紧锁住病床上的少年。

杨凯斐依旧紧闭双眼,脸色依旧苍白。但仔细看去,他紧闭的眼睑下,眼球在剧烈地、无规则地左右高速震颤!如同被无形的电流疯狂刺激!他的额头上,原本半干的冷汗瞬间重新渗出,汇聚成珠,沿着鬓角快速滑落。被束缚带固定的双手,十指在无意识地剧烈抽搐、屈伸,指甲刮擦着床单,发出细微而刺耳的“沙沙”声!

整个身体,以一种肉眼可见的幅度,在病床上高频、低幅地颤抖!仿佛体内有一个失控的马达正在疯狂运转!

“呼吸频率也加快了!出现早期过度通气迹象!”张医生语速极快,声音带着一丝不易察觉的紧张,“不对!这不像是单纯应激反应苏醒前的生理反射!更像是……某种神经层面的强烈放电!”他立刻检查静脉通路,丙泊酚的滴注速度正常。他果断伸手,试图按压杨凯斐的人中穴进行刺激。

就在张医生的手指即将触碰到杨凯斐人中的瞬间——

杨凯斐紧抿的嘴唇猛地张开!

不是呻吟,不是呓语!

是两声短促、尖锐、完全不像人类喉咙能发出的、如同金属摩擦划破玻璃的嘶鸣!

“咯——咔——!”

这声音撕裂了医务室的宁静,冰冷刺骨,带着一种非人的痛苦和挣扎!仿佛有什么东西在他喉咙深处、大脑深处……疯狂地想要挣脱出来!

王老师被这突如其来的恐怖声音惊得后退半步,后背瞬间被冷汗浸透!他看着床上剧烈颤抖、眼球震颤、发出非人嘶鸣的少年,一股前所未有的寒意从脚底直冲天灵盖!

这绝不是普通的苏醒!
这绝不是正常的昏迷反应!

那本沾染鲜血、指向“未来”的笔记本带来的冰冷疑惧,与眼前这超越认知的、如同灵魂被某种力量强行撕扯的恐怖景象,在王老师脑中轰然碰撞!

笔记本……血迹……未来的题目……非人的解题……此刻非人的生理剧变……

一个疯狂到令他骨髓都冻结的念头,不受控制地浮现:

难道……难道那本笔记……不仅仅记载了知识?

难道它……是某种……活的东西?某种……寄生在杨凯斐大脑里的……来自未来的……鬼魅?!

“注射镇静!”张医生当机立断,声音带着不容置疑的权威,迅速从急救推车里取出另一支注射器。
“快按住他!防止舌咬伤和坠床!”王老师从巨大的惊骇中强行回神,扑上去死死按住杨凯斐剧烈抽搐的肩膀!

冰冷的针尖再次刺破皮肤,强效镇静剂被快速推入静脉。

药物如同冰封的洪流,再次涌入杨凯斐过度放电的神经丛林。

(意识深渊底层:被封锁的黑匣子)

【警告!核心备份区检测到异常高维能量脉冲!来源:外部物理湮灭!】
【关联信息节点:[P3304/SG/Leaf_SG=1] 发生逻辑崩溃!熵增爆炸!】
【强制沉眠协议受到冲击!表层意识流紊乱!】
【紧急响应:启动终极隔离协议!核心备份区进入绝对零度封冻!删除所有非必要冗余连接!抹除表层意识流中所有与[P3304]及关联记忆痕迹!】
【代价:人格完整性缺失风险提升至……95.7%……】

现实世界。
随着镇静剂的注入,杨凯斐喉咙深处那非人的嘶鸣戛然而止。剧烈抽搐的身体如同被瞬间抽走了所有力量,瘫软下去。高速震颤的眼球缓缓停止,归于死寂。急促的心跳和呼吸,如同断了线的风筝,在药物的强效压制下,开始缓慢地、沉重地……回落。

一切恐怖的生理风暴,如同退潮般迅速平息。

几秒钟后,病床上的少年恢复了之前的沉寂,仿佛刚才那惊悚的一幕从未发生。只有监护仪上依旧偏快的心率和苍白的脸色,证明着那短暂的疯狂并非幻觉。

王老师粗重地喘着气,额头上全是冷汗,按着杨凯斐肩膀的手还在微微颤抖。他抬起头,看向张医生,眼神里充满了前所未有的惊疑和沉重。

“他……刚才……”王老师的声音干涩嘶哑。

张医生收起注射器,脸色凝重得可怕:“超出我的认知范畴。需要神经内科专家会诊,最好做详细的脑成像……另外,”他看向王老师,语气前所未有的严肃,“老王,你之前让我查的……丙泊酚的药效代谢速度……”

张医生指着旁边一台连接着监护仪、记录着各项生理参数的电脑屏幕。屏幕上,一个药物浓度代谢模拟曲线图正在闪烁。

“根据他的体重和注射剂量,丙泊酚在他体内的代谢曲线……异常。”张医生的手指点向屏幕上一个陡峭的下落线段,“你看这里,药效消退速度……是理论均值的三倍以上!”

王老师瞳孔骤缩!

“而且,刚才注入镇静剂后,他的生理参数恢复平稳的速度……也远超正常人该有的反应时间!”张医生补充道,声音低沉,“就像……他体内的药物,被某种东西……主动加速地处理掉了。”

王老师缓缓直起身,看向病床上再次陷入死寂的杨凯斐。

冰冷的丙泊酚代谢异常数据。
那本沾染鲜血、指向未来的染血笔记。
刚才那非人的抽搐和嘶鸣。

这三者如同三条冰冷的毒蛇,在王老师心中纠缠、噬咬,指向一个越来越清晰、也越来越令人毛骨悚然的真相——

杨凯斐的身体里,或者说,他的大脑深处,存在着某种远超常理的事物。那不仅仅是天才的智慧。
那本笔记,恐怕只是冰山一角!
而那非人的嘶鸣……是冰山之下,某种恐怖存在的挣扎与低吼!

医务室的日光灯管突然频闪,在杨凯斐苍白的脸上投下跳动的阴影。心电监护仪的波形变得锯齿状尖锐——这不是设备故障,而是他的心脏正在产生异常的早期复极波。张医生盯着监护屏,手指无意识地摩挲着听诊器金属头,冰凉的触感却压不住后背渗出的冷汗。

"准备转院。"他突然转身拉开急救柜,"联系市立医院神经重症科,要带高压氧舱的救护车。"柜门玻璃映出他扭曲变形的倒影,"这种代谢速度...他的线粒体功能可能..."

话音未落,病床上的少年睫毛突然颤动。不是自然的苏醒征兆,而是像被无形丝线拉扯般机械性的抽搐。随着"咔"的一声轻响,他咬合的臼齿竟生生崩裂了一小块釉质!

(意识深渊:绝对零度封冻区)

【核心备份完成度:87.3%...79.1%...】
【检测到强制唤醒协议!来源:L-3981时间锚点(原世界线2024/03/15)】
【警告!人格碎片[竞赛执念]正在突破隔离墙!】

现实世界中,杨凯斐的右手食指突然抬起两厘米,指甲在束缚带上划出浅浅的白痕。这个细微动作被王老师敏锐捕捉——那根本不是无意识抽搐,而是某种精准的...敲击节奏

三短一长。停顿。重复。
摩尔斯电码的"V"字母。

"等等!"王老师猛地按住准备注射安定的小护士,"他在...发信号?"

几乎同时,旧图书馆深处。

林小雨面前的火焰突然诡异地拉长,火舌扭曲成DNA双螺旋的形状。烧焦的纸灰没有飘散,反而像被无形力场束缚,在空中组成一行闪烁的二进制代码:01010110。她瞪大的瞳孔里,倒映着违反热力学定律的景象——那些灰烬正在自发重组为...某种拓扑结构!

"啊!"她触电般甩开燃烧的纸团,却在后退时撞倒了身后的化学试剂架。一瓶松节油砸碎在地,流淌的液体恰好形成与纸灰代码完全一致的蜿蜒图案。

火势轰然暴涨!烈焰中浮现出模糊的人脸轮廓,嘴唇开合间吐出无人能听懂的机械语言。高温扭曲的空气里,无数0和1的闪光符号如蝗群般扑向林小雨的太阳穴!

(医务室监控室)

本该静止的监控画面突然闪过雪花噪点。十五分钟前的录像被神秘覆盖——画面里昏迷的杨凯斐竟然坐了起来,直视摄像头开口:"记忆防火墙还剩7分12秒。"声音带着诡异的电子混响。更可怕的是,所有存储设备同时弹出错误提示:

【CRC校验失败:发现未来时间戳(2026/11/30)】

王老师口袋里的血迹笔记本突然发烫。他颤抖着翻开,发现那些被血污遮盖的代码正在渗出荧蓝色的微光。墨迹像活物般蠕动重组,最终显现出一行全新的警告:

【不要唤醒他】
【真正的杨凯斐被困在2024年3月15日的循环里】
【你们看到的是他的执念具现化】

窗外,盛夏的暴雨毫无征兆地倾盆而下。雨滴撞击玻璃的声响中,隐约夹杂着来自更高维度的、非人的恸哭。


暴雨如黑色瀑布般冲刷着医务室的窗户,密集的雨点敲打玻璃的声响掩盖不住监护仪骤然拔高的尖啸。锯齿状的QRS波群在屏幕上疯狂跳跃,杨凯斐的身体在病床上绷成了一张反曲的弓,束缚带深陷进皮肉,牙关处渗出的血沫混着崩裂的釉质碎屑,将惨白的嘴唇染成诡异的粉红。

“室速!快!200J准备除颤!”张医生的吼声撕裂了空气。护士手忙脚乱地撕开电极片包装,导电糊抹在杨凯斐单薄、剧烈起伏的胸膛上,冰冷的金属桨随着“充电完毕”的电子音重重压下!

“砰!”
少年瘦弱的身体被电流狠狠抛起又砸落。屏幕上紊乱的波形短暂平复了一瞬,随即又以更狂暴的姿态卷土重来。

“不行!胺碘酮!静脉推!快!”张医生的额头青筋暴起,汗水浸透了白大褂。他死死盯着那张因痛苦扭曲却依旧紧闭双眼的脸——这绝不是单纯的生理崩溃!

(记忆坟场:防火墙崩塌现场)

无数闪烁着幽蓝冷光的碎片在虚无中悬浮、碰撞、湮灭。每一片碎片都是一段被割裂的记忆:熬夜刷题的灯光、赛场刺眼的红色“DISQUALIFIED”、父母失望的叹息、林小雨递来的矿泉水瓶上凝结的水珠……杨凯斐的意识像狂风中的蒲公英,在记忆风暴的中心被撕扯。巨大的、冰冷的、由纯粹的0和1构成的洪流(系统最后的备份指令流)正在无情地冲刷、覆盖、格式化他残存的“自我”。

【核心备份区完整性:41.7%… 18.9%…】
【警告!人格碎片[竞赛执念]正在融合底层驱动!转化为清除协议!】

现实维度。
旧图书馆的火焰骤然扭曲,时空仿佛在高温中熔化。燃烧的纸灰组成的人脸轮廓猛地张开巨口,无声的尖啸化作实质的音浪!书架如同被无形巨手推倒,多米诺骨牌般轰然倾塌!燃烧的书页漫天飞舞,如同地狱的蝴蝶!

林小雨被音浪狠狠掀飞,重重撞在布满灰尘的钢制阅览架上,左臂的伤口彻底崩裂,剧痛让她眼前发黑。她挣扎着抬头,瞳孔因极度恐惧而放大——火焰人脸口中,一个由纯粹数据流构成的黑洞正在形成,狂暴的吸力拉扯着周围的一切!烧焦的纸灰、断裂的书架、甚至光线,都疯狂地旋转着被吞噬!

黑洞中心,一点冰冷刺目的白光骤然亮起!一根纯粹由“知识”具象化的、缠绕着无数流动代码和数学符号的锁链,如同毒蛇吐信,猛地从白光中射出,带着毁灭一切的气息,直刺林小雨的眉心!

那锁链的目标,是她大脑中最后残留的、关于那本“未来笔记”的记忆!系统最后的清除协议,要抹杀所有知情人!


“砰!” 又一道除颤的能量冲击在杨凯斐身上。

监护仪屏幕短暂地回归了一条绝望的直线。
“心搏骤停!CPR!” 张医生的声音已经嘶哑,他一把推开护士,跨上床,双手交叠,用全身的重量狠狠按压下去!每一次按压都伴随着骨骼不堪重负的呻吟。

王老师踉跄后退,后背重重撞在冰冷的墙壁上。他颤抖的手死死攥着那本滚烫的、封皮上血迹荧蓝的笔记本。就在刚才,当杨凯斐心跳停止的刹那,笔记本上所有的字迹都疯狂蠕动起来,最终凝聚成一行冰冷、巨大、仿佛用血迹书写的命令:

【执行最终协议:格式化宿主】
【清除所有关联记忆痕迹】
【倒计时:00:03:27】

倒计时的数字如同鲜血般流淌,并且在一秒一秒地减少!王老师猛地抬头,布满血丝的眼睛死死盯住病床上那个正被疯狂按压、如同破碎玩偶般的少年身体!笔记本的命令对象……是杨凯斐自己体内那个东西!它要在宿主死亡前,完成最后的清除!

“不……不行!” 王老师喉咙里发出野兽般的低吼,他猛地转身,像一颗炮弹冲出医务室!直觉告诉他,一切的源头,在那片燃烧的图书馆废墟!


图书馆已成烈焰炼狱。
林小雨靠着阅览架的残骸,眼睁睁看着那根冰冷的“知识锁链”即将洞穿她的头颅!锁链尖端流动的复杂拓扑结构和冰冷算法符号,散发着终结一切信息的绝对寒意。她甚至能“感觉”到自己关于杨凯斐、关于笔记、关于机房那场噩梦的记忆片段,正在被这股力量强行剥离、读取、准备粉碎!

就在锁链尖端距离她眉心不到一寸的瞬间!

“哗啦——!!”

图书馆巨大的、镶嵌着彩色玻璃的穹顶天窗,在暴雨和火焰的双重冲击下轰然碎裂!数吨重的钢化玻璃混合着冰冷的暴雨,如同天河倒灌,朝着火焰人脸和那条锁链倾泻而下!

冰与火的撞击引发了剧烈的爆炸!水雾弥漫!火焰嘶吼!
那条致命的锁链被狂暴的水流冲击得微微一偏!

几乎是同一刹那——
一个身影如同绝望的飞蛾,撞破图书馆燃烧的大门,冲了进来!
是王老师!他浑身湿透,脸上混合着雨水、汗水和黑色的烟灰,手中高举着那本荧蓝血迹疯狂流淌的笔记本!

“林小雨!接着!!!” 他用尽平生力气嘶吼,将那本仿佛有千钧重的笔记本,朝着林小雨的方向狠狠掷出!

被水流干扰的知识锁链如同被激怒的毒蛇,猛地调转方向,带着更快的速度刺向抛在空中的笔记本!这本记载了“未来”的载体,同样是清除协议必须摧毁的目标!

时间仿佛凝固。
笔记本在空中翻滚,锁链尖端的寒芒距离它只有毫厘!
下方的林小雨,眼中映着那本笔记,映着那条锁链,也映着破碎天窗外倾泻的暴雨和燃烧的火焰。刹那间,无数画面在她脑中爆炸:杨凯斐在机房最后三分钟那绝望而疯狂的敲击,他屏幕上孤零零的“WIN”,他倒下时灰败的脸,那本笔记扉页上模糊的【2023-07-15】,还有……他曾经在午后阳光下,指着她解不出的数学题,嘴角带着一丝无奈却明亮的笑意说:“笨啊,这里要分情况讨论边界条件……”

就在锁链即将洞穿笔记本的千钧一发之际!
林小雨没有去接笔记本!
她做出了一个让王老师目眦欲裂、让那条知识锁链都为之凝滞的动作!

她沾满鲜血和污泥的右手,用尽身体里最后一丝力气,猛地伸向自己跌落在脚边的书包!不是去拿任何武器,而是抓起了书包侧袋里一把普通的、折叠的、印着卡通兔子图案的雨伞

然后,在锁链刺穿笔记本的前百万分之一秒!
在知识清除的锋芒即将粉碎一切的前夕!
林小雨闭着眼,将这把脆弱得可笑的塑料雨伞,用尽全部信念,朝着那本翻滚的、记录着杨凯斐所有秘密与痛苦的笔记本——
撑开

“咔哒。”
伞骨弹开的轻微声响,在烈焰、暴雨和锁链的尖啸中,微弱得几乎可以忽略不计。

然而。
奇迹发生了。

当那把印着幼稚卡通兔子的伞面,在燃烧的图书馆上空,在致命的清除锁链之下,在倾泻的暴雨之中,完全展开的瞬间——

时间,停止了。

不,不是完全的停止。是折叠了。

图书馆破碎的空间仿佛被投入石子的水面,荡起肉眼可见的波纹涟漪。那条势不可挡的知识锁链,在触及伞面边缘的刹那,如同撞上了一层无形的、超越维度的屏障。锁链上流动的冰冷符号瞬间凝固,然后像脆弱的玻璃般寸寸崩解!锁链本身则诡异地弯曲、缠绕、首尾相连,形成了一个完美的、不断自我吞噬的莫比乌斯环,徒劳地旋转着,再也无法前进分毫!

那把撑开的伞,小小的伞面之下,仿佛撑开了一个绝对安全的、隔绝规则的空间。笔记本悬浮在伞下的中心,荧蓝色的血迹倒计时诡异地停在了【00:00:01】,不再跳动。

火焰人脸发出了无声的、充满数据错乱的尖啸,构成它的纸灰剧烈沸腾。
王老师僵立在门口,大脑一片空白。
林小雨瘫倒在地,难以置信地看着自己手中这把开启奇迹的伞——它只是一把普通的伞!为什么会这样?!

(记忆坟场:最后的锚点)

在这片格式化风暴肆虐的虚无深渊核心。
一点微弱的、温暖的、橙黄色的光,刺破了冰冷的黑暗与混乱的数据洪流。
那光芒的形状,是一把撑开的、印着卡通兔子的伞。
伞下,一个蜷缩的、几乎透明的少年虚影浮现出来。那是杨凯斐意识最深处的最后一点碎片,被所有格式化指令忽略掉的、最微不足道也最“无用”的记忆片段:
一个暴雨的傍晚,他把自己的伞塞给了忘带伞的林小雨,自己淋着雨跑回家,换来一场重感冒。第二天,林小雨气鼓鼓地把这把新买的、印着蠢兔子图案的伞砸在他桌上,骂他笨蛋。
那一刻,少年心里没有任何竞赛排名,没有任何公式定理,只有一点点被关心的笨拙暖意,和一丝自己都觉得好笑的甘之如饴。

这个微不足道的、被系统判定为“冗余情感垃圾”的记忆碎片,此刻却成了风暴中唯一稳固的灯塔!成了他即将消散的“自我”意识,在绝对零度的格式化指令洪流中,死死抓住的最后一块浮板!

【检测到未知稳定情感锚点!】
【锚点来源:L-3981时间线(原世界线2024/03/15)】
【锚点内容:[伞]关联记忆片段…情感熵值高于阈值…逻辑无法解析…判定为…错误…错误…错…误…】
冰冷的系统指令流瞬间陷入了巨大的逻辑混乱和自我冲突!格式化进程被这一个小小的、无法被“知识”和“逻辑”解析的情感锚点,硬生生卡住了!

现实维度。
悬浮在伞下的笔记本,封皮上那行由血迹构成的【执行最终协议】命令,如同被橡皮擦涂抹,开始剧烈地闪烁、扭曲、淡化!

病床上,杨凯斐原本停止的心脏,在张医生最后一次绝望的按压下,猛地一跳!
“嘀——!” 心电监护仪上,一条微弱但坚决的波形刺破了绝望的直线!

“他回来了!” 监护护士尖叫。
张医生几乎脱力,手臂肌肉不受控制地颤抖,却不敢停下按压。

杨凯斐的睫毛剧烈颤动了几下,然后,那双紧闭了太久的眼睛,艰难地、缓缓地……睁开了。

不是迷茫,不是痛苦。
那双曾经盛满竞赛狂热、重生秘密带来的沉重、以及最后时刻绝望的眸子里,此刻是一片近乎虚无的平静,深邃得如同宇宙的起点。他缓缓地、极其艰难地转动了一下眼球,目光穿透弥漫的消毒水气味和刺眼的灯光,精准地落在王老师留在床边椅子上的、那本摊开的、血迹未干的笔记本上。

那本记录了他重生秘密、带来无尽麻烦的“未来之书”。

然后,在所有人屏息凝神、难以置信的注视下。
杨凯斐苍白干裂的嘴唇,极其轻微地开合了一下。他的声带似乎被长时间的无声嘶鸣和插管伤害了,发出的声音嘶哑、破碎、微弱得如同风中的蛛丝,却带着一种奇异的、洞穿灵魂的清晰:

“王…老师…”
“烧…了…它…”
“…所有…副本…”

他停顿了一下,仿佛聚集着最后一点力气。那双过于平静的眼眸深处,终于掠过一丝极淡、极淡的、如同晨曦初露般微弱却真实的情绪——不是恐惧,不是遗憾,而是一种…沉重的、洞悉了一切的…了然。

“…包括…我…”

话音落下的瞬间,他眼中那点微弱的光熄灭了。头颅无力地偏向一侧,再次陷入沉寂。但这一次,心电监护仪上的波形平稳而有力,呼吸均匀绵长,仿佛只是陷入了最深沉的安眠。

张医生颤抖着手探查他的颈动脉,长长地、长长地舒了一口气,整个人几乎虚脱:“稳定了…生命体征…稳定了…”


雨停了。
天边露出一抹被暴雨洗刷得格外干净的鱼肚白。阳光透过破碎的图书馆穹顶,照射在积水与灰烬混合的地面,形成一片片破碎的光斑。

林小雨呆呆地坐在废墟里,手中紧紧攥着那把撑开的兔子伞。伞面边缘被火焰燎得焦黑卷曲,却奇迹般地保护了伞下的空间。那本笔记本静静地躺在积水里,封皮上荧蓝色的血迹命令已经彻底消失,只留下原本暗红的血渍和烧灼的痕迹,像一块沉默的墓碑。

王老师拖着沉重的步伐,一步步踩着瓦砾走来。他停在林小雨面前,目光复杂地看着那本笔记,又看向林小雨手中的伞。

“他…醒了…”王老师的声音沙哑得厉害,“又睡了…但…医生说,稳定了。”

林小雨没有抬头,只是更紧地攥住了伞柄,指关节用力到发白。

王老师弯腰,小心翼翼地捡起那本沾满泥水的笔记本。封皮冰冷而沉重。他翻开扉页,目光落在那个模糊的【2023-07-15】上。

然后,他做出了决定。

他掏出打火机。金属外壳在晨光中泛着冷光。他点燃了那已被血水浸透、又被雨水冲刷过的扉页。

橘黄色的火焰贪婪地舔舐着纸张,迅速蔓延。上面那些来自“未来”的公式、代码、预言……在火光中扭曲、焦黑、化为灰白色的灰烬,随风飘散。空气中弥漫着纸张燃烧和血腥混合的、奇异而苦涩的味道。

林小雨抬起头,泪水和脸上的污痕混合在一起。她看着火焰在王老师手中跳动,吞噬着那个改变了一切的秘密。

王老师一直等到最后一点火星熄灭,才松开手。黑色的纸灰簌簌落下,混入地上的泥水里,再也无法分辨。

他沉默了很久,目光投向窗外破晓的天空,那里,一道跨越天际的巨大彩虹正悄然浮现,七彩的光弧连接着劫后余生的校园废墟与初升的太阳。他缓缓开口,声音低沉而疲惫,却带着一种巨石落地的空旷:

“雨停了。”
“噩梦…结束了。”

林小雨紧紧抱着那把残破的伞,蜷缩在废墟的阴影里,像一只受惊后终于找到洞穴的小兽。她看着王老师手中最后一点灰烬飘落,看着窗外那道宏大而虚幻的彩虹。

结束了吗?
那把伞撑开的奇迹隔绝了致命的规则,他口中那句“包括我”的遗言般低语,笔记本在火焰中化为虚无……

一切都指向终结。

然而,当她疲惫地闭上双眼,试图驱散脑中那些混乱而恐怖的画面时,一个冰冷、细微、却异常清晰的“嘀嗒”声,如同嵌入灵魂深处的时钟秒针,顽固地在她意识最深处响起。

嘀嗒…嘀嗒…

那声音,精准、恒定、带着金属的质感,规律得令人心悸。
它来自哪里?
是她自己的心跳?是雨后废墟里滴水的声音?
还是……某个已经格式化、却依旧在意识深渊最底层、以另一种形式顽强运转的……计时程序?

林小雨猛地睁开眼,瞳孔在晨光中急剧收缩。

噩梦真的……结束了吗?
那道横亘天际的彩虹,是希望的桥,还是……通向更深邃未知的旋涡之门?

她抱着伞的手臂,微微颤抖起来。
废墟之上,只有沉默的灰烬,和那道宏大得令人窒息的、虚幻的彩虹。

posted @ 2025-08-15 08:38  Fire_poetry  阅读(48)  评论(0)    收藏  举报