一只流浪猫的 OI 之旅(第 1~71 章)
连载于洛谷,可能不会及时更新。Part 1 Link
对于洛谷:下一章的入口会在文章末尾的图片处,请点击图片。
部分内容由于洛谷与博客园 Markdown 渲染不一致,请谅解,基本不影响阅读。
剧情纯属虚构。
第 1 部(1 章~13 章)
1 初遇 OI
喵呜~
小流浪猫默默今天的运气不错,在某学校的池塘里抓到一条鱼做晚餐。接着,它进入了梦乡。
在梦里,它看见,一个比它高的多、戴着眼镜的男人抱起了它,将它带回了一个房间。它只看到,这个房间里有许多黑色长方体,还有不计其数的黑乎乎的线。最让它感兴趣的是一大堆“老鼠”(神秘小鼠标)。默默被那个男人抱到了一台黑色长方体的前面坐着。那个男人还按了什么按钮,长方体亮了。接着,男人拉开一个人类叫键盘托的东西。默默看到了那个有一百多个小黑色方块的叫“键盘”的东西。
除此之外,它还看到,自己有了像人类一样的手。它现在已经和人没什么两样了。
那个男人开始自我介绍,默默只知道,他的拼音首字母叫 vvv。接着,vvv 开始手把手教默默一个名叫 C++ 的语言。
就是在这一个晚上,默默平生中第一次知道了一个叫 Dev-C++ 的编译软件,以及叫 xxx.luog.com.meow 和 a115.meow.edu.com 的网站。
2 AC 题目
第二天晚上,默默又来到了机房。它在 vvv 的指导下,写出了 #include<iostream>。没过多久,它默下了 using namespace std; 也学会了。就这样,它通过了它猫生中的第一题——“Hello,World!”。

引用框看到这非常兴奋,想露一手:
PHP:那我走?
P1000:不要啊……
B2002:……
P1001:我的饭碗没了……
3 学习算法
又过了不知道多少个晚上,它学了:
- 计算机基础知识
int、long long、bool、char等数据类型。if和else(其实就是分支结构)while、do-while、for- 循环嵌套、数组、C 风格输入输出
- 贪心、枚举等算法
- 指针、排序、位运算
- STL
- 递归
- DFS、BFS
- A*、Dijkstra、SPFA 等最短路算法
- 哈希、简单 DP、其他图论算法
- 并查集、线段树
- Linux 系统
- 区间 DP
- 分治
- ……
我想到了很多美妙的知识点,但是这里位置太少,我写不下。
4 备 CSP
时光飞逝,CSP2025 初赛(第一轮)在即。vvv 对默默说,什么也不要怕。相信自己,尽力而为就可以了。
默默:我很怕保龄怎么办……
在考场上,默默小心翼翼地在答题卡上涂下一个个灰黑色的小长方块。当监考老师收卷时,默默自然还是难免紧张。
路人甲:报名是要交钱(50 rmb)的……
路人乙:那两组呢?
路人甲:100 rmb
路人乙:对一只猫来说太贵了……
当天晚上,默默发现,它又变成了一只猫。握不起笔,键盘也像以前一样难操作。它自言自语,却只能叫出“喵呜~”它看着 vvv,而 vvv 却好像什么都知道,抚摸着默默的毛。
为什么 vvv 会这样呢?
5 成功晋级
成绩出来了,因为默默所在的省份机位较多,所以默默踩了线晋级。vvv 特意买了一些好吃的猫粮给默默加餐。第二天,默默变回了人。
vvv 开始增加了习题的难度。
路人丙:少了一点
路人丁:?
路人丙:少了 这个
路人丁:你过了吗……
默默敲着代码,却只能看到一个个绿色的数据点中夹杂着红色或紫色或深蓝色。时不时来上几个“编译失败”,或者绿的都没有。紧接着,在他的耐心指导下,默默把一个个“80”、“0”、“25”变成了“100”。默默不知第几次感到如此开心。
6 开始摸鱼
一天,vvv 在讲台上讲着一道蓝题。默默看着他在黑板上写下一些就像天书一样的状态转移方程,没忍住点开浏览器上方的“+”,再输入了“florr.io”。(他忘了打开无痕式窗口)vvv 在黑板上化简着式子,默默在下面玩得正欢。vvv 发现异常,站在了默默身后。而默默没意识到危险。
“出 Super 啦!”默默情不自禁地喊道。
机房同学:?
“咳咳。”
默默一回头,vvv 正板着脸,盯着他。
“老师……那个……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……我……”
vvv 异常严肃地说:“这次是初犯,饶你一次。下次再被我抓到的话……后果……”
默默关掉了地板。
7 练习时间
又过了几天,vvv 要去开会,两个半小时后回来,临走前给默默布置了一道黄题、两道绿题。默默先开了黄题。
他看了一眼,一眼发现这题是一个二分,只是有点复杂而已。默默飞速敲出了一份代码。一提交,只拿了 70 分。他看了一下数据范围,会炸 int,于是开了 long long。80 分。他把代码翻了许多遍,差点没打开豆包。他又检查了一遍,原来是有一个边界条件没考虑到。再次提交,多了 10 分。又检查了大半天,没发现问题。
vvv 回来了。他看到一下默默的代码,指出了问题:你看,你把这个判断条件的等于号漏掉了。虽然也可以通过编译,但是你以后还是要细心一点。默默的心里却不以为然,心想:我写的代码确实很优秀,这一点还是我做的不错。至于那个等于号,我自然是记得的。
vvv 见默默没有开后面两题,就说了:“我出去了两个半小时,你三道题一共只拿了 90 分,在 CSP 的赛场上,想拿 J 组一等奖或 S 组二等奖,很大概率是不够的。”
现在人们都知道,2025 S 组 60 分是全国二等线。但是故事现在的时间是 2025 年 11 月以前
不可以,总司令。
接下来,vvv 讲完了那三道题。就开始教默默对拍等等的技巧。默默对其中的 system 语句很感兴趣。但是有一次,他不小心用 system 差点把评测机炸了。
默默的对拍越来越熟练,vvv 也就开始了给默默做断网 CSP 模拟题。每一次,默默的 J 组都能稳切前两题。S 组呢,如果第一题是橙,他也能切。vvv 在做他完模拟题后,如果有时间,vvv 会让默默去做往年真题。几套卷子下来,默默的考场应对能力自然提升了不少。
建文件夹,最重要的是建立子文件夹,不能把文件命名成 club.cpp.cpp,还要写关于自己信息的文档,默默记住了这些注意事项。
默默:那我能写 club.cpp.cpp.cpp 吗?
8 一次变故
有一次,默默不小心在模拟赛中使用了 __int64,vvv 的评测机是 Linux。默默迎来了第一次爆 0。
就这样,默默的心态崩了。vvv 最近好像变了一副样子,还在 J 组的模拟赛里放了两道紫题。vvv 应该不是一个玩 OI 教练模拟器的好手。不像我旁边的人,经常弄出一堆 AK IOI 的学生。
默默因为准备代表学校打比赛,于是以特殊学生的身份进入了那间学校学习 whk。不幸的是,他的作业经常写不完。而且再变回猫形后,作业根本就不能做。而且学校没有鱼吃。
咳咳。后来,默默还在学校里发现了一些不寻常的事。
举个例子:
期中考前一天,他和同学们一起是食堂吃饭。默默因为不熟悉道路,绕了一点。导致同学们比他早到饭堂。谁知道饭堂一大堆人,排队排了十几分钟,到默默的时候刚好八个菜全没了,只能下去吃。
下去二楼人也很多,默默表示:还不如去小卖部买点布丁填一下肚子,大不了夜宵吃多点。
小卖部老板:布丁卖完了。
……
默默直接炸了。
对了,作者偷偷告诉你,默默喜欢喝维他奶。默默想,那就买瓶维他奶喝吧。
“老板,有维他奶吗?”
“没有。因为近期我们发现同学们经常浪费维他奶,所以我们决定从昨天开始就不卖维他奶了。”
有一个东西各位读者绝对不知道,默默今天:
\(大凶\)
哈哈哈哈哈哈哈哈哈哈哈哈哈哈……
9 期中考试
期中考试到了,默默的感觉如下:
语文?作文最少要写 800 字哎!你觉得一只猫能怎么写字?50 字都难吧!
数学?这动点在数轴上跑来跑去对一只猫的脑容量的挑战……
猫的脑容量平均为 25 克。
英语?你见过一只猫说英语吗?中学生要记住约 2000 个英语单词。
还是那句话,猫的脑容量平均为 25 克。
政治?猫和人好像不太一样吧……
历史?这对默默来说非常困难。因为以前发生的事,猫怎么知道?猫对历史有研究吗?
地理?多少只猫上过船?更加别提飞机了。经纬线太大了,它们绝对认为一只猫真是太微不足道了……
生物?哪一只猫会研究细胞?能知道自己是有脊椎动物就很不错了吧……
体育?默默在以前的学校对飞驰的足球不感兴趣。猫族对足球不是很敏感吗?
:::info[说明]{open}
请试想这样一个场景,一只猫在路上漫步。这时,一个足球朝它冲了过去,猫的反应如何?
:::
音乐?这对猫来说不是噪音就很好了。
第一次月考结束,默默的 whk 排名出人意料的“高”(相对猫来说)。RK 200 左右会是极限吗?
默默以前在猫中听人类说过一点历史,在他以前的朋友中算厉害的。可是他的历史考试成绩时高时低,很不稳定。
于是,默默想要恶补历史。可是,OI 和 whk 中的冲突越来越大了。
10 遇到困境
OI 题目里经常夹杂着 whk。默默在进入学校以前什么也不会,这下好了,两边都难发展。
不说 vvv 以前对默默不错。摸鱼也饶。 可是最近,vvv 对默默的态度越来越差。
:::error[最大的问题]{open}
就在 2025 年 10 月 27 日,vvv 并没有出现在学校。默默的信息学集训被迫暂停。
:::
“你知道这对 OIer 意味着什么吗?”
晚上,宿舍楼在熄灯后变得黑暗。一切都充满着未知……
28 日,默默宿舍里的一张床不见了。他以为是被搬走了,没在意。我是不会告诉你这张床本来就是烂了的。
29 日和 30 日,停水了。不过宿舍楼停电是常事,默默认为停水也没什么,毕竟他还见过 1 楼的水管喷水。
31 日,什么洗衣液和衣服什么的都不见了。竟然没人管。
出门见宿管,宿管皆惊忙。
晚上,默默躺在了床上睡觉。
11 开始比赛
1 日早,他坐在了 J 组的考场上。这时默默喝了一口水,正撒在了隔壁的男同学身上。
“对不起对不起。”默默拿出纸巾。
“不用不用。”那个男同学说到。
“那个,你叫什么名字?”默默小声问道。
“丁泽林。”男同学说。
默默听完,看了一眼那个男同学桌面的信息。
考试开始,默默看错了解压密码(把 l 看成 1 之类),结果到结束时连题目都没看。(惊不惊喜,意不意外)
……
可是作者并没有这么坏。
骗你的,这其实是默默梦里的场景。事实上,默默好不容易才看到题目和大样例。
密码里怎么有
%啊。
这是暗示默默要膜拜巨佬吗?
:::warning[默默考试的心理]{open}
接下来请看 VCR:
好的,现在你进入了默默的考场回忆。
我好像忘了很多东西,只听到隔壁同学敲键盘的声音忽高忽低,仿佛像伴着鼓点一般每秒。
CCF 的讲师 YCB 来我们学校上课。他给我们布置了四道题。
第一题应该是一个字符串提取字符然后排序。
哎主框架怎么写来着?
include<bits/stdc++.h>
using name ;
int man(){
return ;
}
按下 F11,Dev 弹出这个东西:
[Error] 'include' does not name a type
才想起来,include 前面还有一个字符。是 ! 吗?不是。是 % 吗?不是。是 & 吗?不是。太好了是 #。再次按下 F11。
[Error] expected nested-name-specifier before 'name'
对了,name 后还有一个单词,改成 namespace 就好了。后面好像还有一个 std。
[Error] return-statement with no value, in function returning 'int'[-fpermissive]
天哪把 \(0\) 漏了。
又报错了。main 打成了 man。
看完后面几题,随便打了几个暴力就睡着了。
过了一会,YCB 责令我上课睡觉,说再这么吊儿郎当(知道出处的人可以笑翻了)下去,就联系班主任 \(\boxed{作者不告诉你名字}\) 扣我班币,这把我吓坏了。
下午,是 CSP-S。只是变了一个字符而已,是变简单了呢,还是变难了呢?
第一题不是反悔贪心吗?直接打一个博弈论加网络流外加马拉车 AC 自动机 tarjan 算法求出割点再二进制枚举做一遍状压 DP 堆优化版 Dij 乘上 Floyed 和 SPFA 接下来暴力 DFS 同时用 BFS 预处理再用 bitset 处理每位员工使用 buff 卡常外加搞笑注释冲进迷惑行为大赏写出几百行最后加上树上背包套线段树套重链剖分套基环树套平衡树套红黑树拌水泥钢筋混凝土套树状数组套后缀自动机凉咔久久套拌最好吃的意大利面算法作为纪念品。
一口气打了这么多,45 分钟过去了啊。
草草开 T2。
这不是简单题吗?直接打枚举外加贪心最小费用最大流套上欧拉路附上疯狂改编的 EK 算法同时套基环树再外加并查集使用复杂无比的指针和层层嵌套的结构体和析构函数套字典树套 Bellman-Ford 套优先队列或者栈再用邻接矩阵存图打出 Kruskal 和 Prim 的结合体用区间 DP 预处理结尾用树上背包套线段树套重链剖分套基环树套平衡树套红黑树拌水泥钢筋混凝土套树状数组套后缀自动机凉咔久久套拌最好吃的意大利面感觉不够就再要了一份西冷牛排和猴子排序披萨喂饱程序然后添上搞笑注释以冲进迷惑行为大赏收尾。
大样例跑了一分钟!
哦,原来枚举外加贪心最小费用最大流套上欧拉路附上疯狂改编的 EK 算法同时套基环树再外加并查集使用复杂无比的指针和层层嵌套的结构体和析构函数套字典树套 Bellman-Ford 套优先队列或者栈再用邻接矩阵存图打出 Kruskal 和 Prim 的结合体用区间 DP 预处理结尾用树上背包套线段树套重链剖分套基环树套平衡树套红黑树拌水泥钢筋混凝土套树状数组套后缀自动机凉咔久久套拌最好吃的意大利面感觉不够就再要了一份西冷牛排和猴子排序披萨喂饱程序然后添上搞笑注释以冲进迷惑行为大赏不够!!!应该加上一堆增城快车把速度蹭蹭提上去。
大样例跑得飞快。
第三题好难啊。应该用博弈论加网络流外加马拉车 AC 自动机 tarjan 算法求出割点再二进制枚举做一遍状压 DP 堆优化版 Dij 乘上 Floyed 和 SPFA 接下来暴力 DFS 同时用 BFS 预处理再用 bitset 处理每一位使用 buff 卡常外加搞笑注释冲进迷惑行为大赏写出几百行还要枚举外加贪心最小费用最大流套上欧拉路附上疯狂改编的 EK 算法同时套基环树再外加并查集使用复杂无比的指针和层层嵌套的结构体和析构函数套字典树套 Bellman-Ford 套优先队列或者栈再用邻接矩阵存图打出 Kruskal 和 Prim 的结合体用区间 DP 预处理结尾用树上背包套线段树套重链剖分套基环树套平衡树套红黑树拌水泥钢筋混凝土套树状数组套后缀自动机凉咔久久套拌最好吃的意大利面感觉不够就再要了一份西冷牛排和错过疯狂星期四的肯德基以及猴子排序披萨喂饱程序然后添上搞笑注释以冲进迷惑行为大赏结尾加上一堆增城快车把速度蹭蹭提上去还有顺德学院站城际等车期间疯狂写循环展开补上牛顿迭代二项式定理逆元欧几里得定理欧拉函数。
大样例毫无压力过了。
第四题好难啊,感觉不是人做的。应该用顺序结构分支结构循环结构数组字符串(入门)结构体函数与递归字符串字符串后缀自动机 SAM 字典树 TrieAC 自动机 KMP 算法后缀数组 SA 后缀树有限状态自动机回文自动机 PAMManacher 算法 Lyndon 分解 Z 函数后缀平衡树动态规划 DP 背包 DP 数位 DP 区间 DP 树形 DP 轮廓线 DP 线性 DP 状压 DP 搜索广度优先搜索 BFS 深度优先搜索 DFS剪枝记忆化搜索启发式搜索迭代加深搜索启发式迭代加深搜索 IDA*Dancing Links 爬山算法 Local search 模拟退火随机调整遗传算法 A* 算法折半搜索 meet in the middle 梯度下降法数学信息论拉格朗日乘数法拉格朗日插值法单位根反演图论 Kruskal 重构树网络流图论建模图遍历拓扑排序最短路生成树平面图最小环负权环连通块 2-SAT 平面图欧拉公式强连通分量 Tarjan 双连通分量欧拉回路差分约束仙人掌二分图一般图的最大匹配上下界网络流最小割费用流圆方树弦图 Floyd 算法广义串并联图计算几何三维计算几何向量凸包叉积线段相交半平面交旋转卡壳极角排序平面几何闵可夫斯基和 Minkowski sum 树形数据结构线段树并查集平衡树堆树状数组 cdq 分治可并堆动态树 LCT树套树可持久化线段树可持久化整体二分 K-D Tree 李超线段树吉司机线段树 segment tree beats 线段树合并二区间合并博弈论博弈树 Nim 积 SG 函数线性数据结构单调队列颜色段均摊(珂朵莉树 ODT)前缀和栈队列分块ST 表差分链表单调栈哈希表多项式快速傅里叶变换 FFT 快速数论变换 NTT快速沃尔什变换 FWT快速莫比乌斯变换 FMTBerlekamp-Massey(BM) 算法集合幂级数,子集卷积数论原根素数判断,质数,筛法最大公约数 gcd 扩展欧几里德算法不定方程进制中国剩余定理 CRT 莫比乌斯反演逆元 Lucas 定理类欧几里得算法调和级数欧拉降幂 Stern-Brocot 树整除分块 Dirichlet 卷积大步小步算法 BSGS 二次剩余 Bézout 定理杜教筛欧拉函数筛法基础算法模拟贪心递推倍增二分递归枚举分治排序 STL 动态规划优化优先队列矩阵加速斜率优化状态合并凸完全单调性(wqs 二分)四边形不等式 DP 套 DP 动态 DP 决策单调性整体转移斜率维护技巧 slope trick 树论点分治树上启发式合并树的遍历最近公共祖先 LCA 树的直径树链剖分虚树基环树动态树分治 Prüfer 序列全局平衡二叉树树的重心群论置换 Pólya 定理组合数学排列组合二项式定理康托展开鸽笼原理容斥原理 Fibonacci 数列 Catalan 数 Stirling 数生成函数 Dilworth 定理拉格朗日反演杨表概率论期望概率生成函数随机游走 Markov Chain 鞅的停时定理线性代数 LGV 引理矩阵树定理矩阵运算矩阵乘法线性递推高斯消元线性基行列式特征值微积分导数积分定积分级数暴力数据结构高精度莫队三分离散化霍夫曼树哈希 hashing 扫描线随机化位运算构造双指针 two-pointer Ad-hoc 笛卡尔树根号分治模拟费用流分散层叠均摊分析分类讨论近似算法线段树分治离线处理 bitset 启发式合并反悔贪心分数规划线性规划拟阵整数规划半正定规划原始对偶最大流最小割定理保序回归结尾用树上背包套线段树套重链剖分套基环树套平衡树套红黑树拌水泥钢筋混凝土套树状数组套后缀自动机凉咔久久套拌最好吃的意大利面感觉不够就再要了一份西冷牛排和错过疯狂星期四的肯德基以及猴子排序披萨喂饱程序然后添上搞笑注释以冲进迷惑行为大赏结尾加上一堆增城快车把速度蹭蹭提上去还有顺德学院站城际等车期间疯狂写循环展开补上牛顿迭代二项式定理逆元欧几里得定理欧拉函数。
时间刚刚好。
终于,两场都结束了。
退出 VCR。
:::
不知作者该如何形容默默走出考场的动作。
12 去新学校
vvv 在结束考试后,给默默发来一条信息,说他的东西已经被搬到另一个学校了。
“啊?”
:::epigraph[——__owowow__]
那你就只能,受着了。
:::
所以,默默 is very happy about it.
不过,带着猫族的小心谨慎,默默发现,vvv 已经很久没有联系他了,这一联系不是问考得如何,而是叫他去另一个学校上课。
vvv 不是消失了吗?为什么会在这个时候突然出现?
好问题。
没过多久,默默就收到学校通知,说确实要去另一个学校上课。校长亲自说,这是他和几个副校长刚刚做的决定,别的老师不知道,让默默保守秘密。
有问题,vvv 怎么知道?还比校长通知地早?
他想,他应该是最特殊的 OIer 了。
看一眼学校的名字,好像在哪里见过。哦,这不是丁泽林的学校吗?
怀着无比复杂的心情,默默走进了学校。
那个学校的校长满脸笑容,看起来非常 kind。他开始用猫条等招待默默,时不时问默默几个问题。
“没关系,你只需要像普通学生一样学习 whk 和 OI 就行了。”这一句话,是默默记得最牢固的一句。
他进入了一个班,这个班里 \(60 \%\) 以上是 OIer,幸运的是,丁泽林也在里面。
“你好,我们见过面的。”默默友好地打招呼。
“对的。”丁泽林没过几秒就回复道。
“你最喜欢什么?”默默想研究对方的兴趣。
丁泽林拿出一张图:“你看,是下面这个。”
你发现上面这张图可以点了吗?
“哦,”默默说道,“跟我一样嘛。”
13 有新体验
到了新宿舍,默默看了一下,太大了。还有楼梯,就当猫爬架了。(是楼梯不是**!)洗手台看起来很漂亮,是用黄色的默默说不出名字的石头做的。
没那么高级,其实是大理石。
默默开心地问道:“哪张床是我的?”
“那张破床。”
“唉谁把我原来学校那张破床搬来了?”
“听说你的东西都是从原学校搬过来的。比如说衣服、床。”
“……”
默默想起了“出门见宿管,宿管皆惊忙”。
“这可谓兴师动众了,跟秦始皇修长城、杨广修京杭大运河差不多啊……而且最初我也不知道啊,不是我干的。”
“我还以为你是暴君?”
“我历史不好而已,这我还是知道的……”
晚饭是 17:40 下课后吃,默默赶到食堂时已经人山人海。(哪儿都一样)晚饭虽然没有鱼,但默默认为还挺符合他的胃口的。
区赛在即,为了备战区赛,学校把 OIer 作业免了,然后其他人晚修的时间,OIer 可以去机房。
今天要打模拟赛哦……
第一次打新学校的模拟赛,不知道会怎么样呢?忐忑?紧张?都不能拿来形容默默啊……
是顺利 AK,猫生逆袭?还是流放下等,任人拿捏?OIer 的路,不好走啊……
默默的这次模拟赛到底会怎么样呢?他会不会逆袭?这可是咸鱼翻身的好机会啊!
欲知后事如何,且听下回分解。
第 2 部(14 章~29 章)
14 打模拟赛
仍抱着一丝轻松感,默默踏进机房。还好,这里面只有四五个人,大部分都在摸鱼。
丁泽林朝默默挥着手,说默默和他同桌。
先复习线段树、SPFA、卡常?还是贪心、DP(大炮)、广搜?好难猜啊。
哦,可以打开文章广场对吧?
进入洛谷首页,文章广场怎么进?
题库
题单
比赛
记录
讨论
专栏
是哪一个?对了,好像是专栏。默默随手点开休闲·娱乐。
这个时候,默默机房的一个大佬走过来,看了一眼默默的电脑屏幕,指着默默刚看几十个字的文章说:“这篇文章非常好看,我推荐你看这篇文章。”
文章真实存在,作者不想透露文章名 (而且这名字经常改)。 这篇文章讲了两个优势互补的数学巨佬因为家庭都出现了问题而且都非常喜欢数学所以并肩作战,最后暂时收获“Happy Ending”的故事。我试过跑到下一部的工地看了一眼,看到工程站名觉得“Happy Ending”要坏啊。
UPD 2026 大年初一晚:工地和工程纸好像被摧毁了啊,看不了了。
看完一半,新学校的教练 RFK,走了进来,说:“现在是 18:30,打到 21:05。赛制还是老规矩,限交 3 次。比赛在 OJ 上已经有了。”
OJ 是指学校自己的 OJ。

老师给默默开了个账号,默默迅速改了默认密码(防 JC)。默默点进了比赛界面。
“我们这里比赛有个规矩,你知道吗?”
“什么规矩?”默默扭头问道。
“不允许盗号提交(因为限交赛制)。”
“这规则不算什么。”默默小声说。
默默凭借经验把六道题都浏览了一遍,发现题目蛮难的,暴力都不好打。尤其是第四题,是个最短路加最小生成树混合计算的复杂题。
“什么东西。”默默心想。
他发现第三题迷宫的暴力虽然复杂,但是比别的题易写。他认为正解是 DP(大炮),但是他不会。
口胡一个暴力不难,数据范围也不大。默默看准机会搓了一个暴力。也许是他练搜索练了特别久,BFS 竟五分钟不到就调好了,样例也过了。看一眼排行榜,只有四五个同学提交,分数也不高,诸如 20、40、55 之类。
默默点开提交界面,把代码复制上去,选择 C++ 语言。就在这电光火石间,默默把暴力代码交了上去。
这里介绍一下,学校的评测机是单线程的,只能同时评测一份代码,默默把暴力交上去,其他同学的代码只能排队(Pending),这个状态就叫“堵桥”。
看到代码跑了好久的“RunningJudging”,默默心想:一定 TLE 了,把别的题暴力打了吧。
这个时候,丁泽林交了一发代码。他疯狂点刷新,结果还是“Pending”。他看了一眼评测队列,发现是默默在堵桥。
“默默把好几个人堵住了,哈哈。”丁泽林笑出声来。
与此同时,别的几个同学都笑了。默默第一次感觉到气氛这么活跃。
“RunningJudging”终于结束了,默默扫了一眼,想知道多少分。他按下了 F5。
\(\color{white}\colorbox{Green}{Accepted}\)
啊?
默默看了一眼排行榜,自己成了第三题的首 A。
什么情况?
过了一秒,默默爆发了弹跳天赋,从椅子上像烟花一样跳得非常高。
RFK 笑了,说他没有见过像默默一样这么能打暴力的 OIer。
那一天,默默终于高高兴兴地走出机房。
15 一篇小说
一个平平无奇的中午,默默用百度 AI 生成了一篇 OIer 打模拟赛的小说。
小说提到,一个普通中学机房在集训 CSP,结果最后一道题是虚树。
原来如此,看来 OI 之路还很长啊……
虚树是 NOI 级算法。洛谷的虚树模板是紫。由此可见 AI 脑回路之大。
16 班级面貌
事实上默默初来乍到,他对班里的人很感兴趣,很想知道他们的故事。
丁泽林告诉他,同学们之间很复杂,就像一张稠密图。
默默忍不住问一句:“\(n\) 是多少?\(m\) 是多少?”
丁泽林回了一句:“这我也不太清楚。总之——这个数比较难算,毕竟有一些隐藏的边。”
默默又问:“哦?分层图?”
“可以这么理解。”
“那怎么跑 BFS,这是用上堆优化版 Dijkstra 都会 \(\color{white}\colorbox{black}{Time Limit Exeeded}\)。”
“对的,正因如此,所以你无法用 1 秒的时间来探索。Exploring 是一个很漫长的过程,虽然规则上会 \(\color{white}\colorbox{black}{Time Limit Exeeded}\),但还是永远为时不晚。你可以理解为是一道长时限题目,比 这道 长的多。毕竟,谁会这么快就把人缘关系发展的那么稠密呢?”
默默若有所思:原来如此。
傍晚,在饭堂排队的时候,默默看到了同学从开学的时候一直写到当天傍晚还没写完的小说,小说才写了几个月,就有了几十页,几乎每页都有 \(600\) 个字以上。
“能借我看看吗?”默默礼貌地问道。
“当然可以。顺便让你快速融入集体,就当是为你‘剪剪枝’。对了,第 \(7\) 页最好看。”同学说。
“哦,是吗?”默默接过书。
“对,我还要告诉你,几乎每个书中的角色都有现实中的原型。”同学回答道。
“这可真是个大工程。”默默感叹。
他看到第 \(7\) 页,看到主人公在和来机房查房的班主任解释他在机房的被误解行为。
“太眼熟了……”
17 机房一幕
小说第 \(7\) 页的情形是默默想起了以下一幕。
那天晚上,同学们在打机房模拟赛。
几天前,有两位同学(以下称为 A 同学和 B 同学),两位同学因为忙着水谷而被路过窗外的信息学老师李老师发现。李老师按照他的习惯给他们的电脑界面偷偷拍了照,接着发给了默默的班主任。致使默默的班主任找上门来。她让 A 同学和 B 同学写一篇检讨。
A 同学认为自己没有错,班规上写着的是:视频、游戏、聊天才算违纪。水谷有利于增进对洛谷的了解、放松身心,有助于更好地学习。而 B 同学比 A 同学听话一点,写了一篇检讨交上去就跑路了。
说回那天晚上,A 同学因为看小说而被班主任亲手抓到了。于是两人在机房外开始争吵。吵什么大家没听清,但是只听到有一句:“你就是用 AI 写一篇也行。”
默默:真是吓哭了,这都行。我能用 AI 写代码吗?
这本小说令默默印象深刻。
18 多了什么
众所周知机房有许多 Fishermen。有一天,是美术课,大家不想上课,于是都跑到机房玩游戏。
这个时候大家过于认真打游戏,朝对方进攻,没有注意到角落里多了什么东西。只有默默后背发凉,感觉奇怪。
“这是怎么了?”默默自言自语,“是什么东西好像在看着我?”
终于等到了下课铃响,大家都恋恋不舍地走了,默默一个人刚提交完一发代码,关上电脑,来到角落。
果然默默视力和注意力不太行,没看到什么东西被隐藏起来了。他刚准备走,结果被一条类似于电脑充电线给绊倒了。
“喵哦——”默默叫着,忍着痛回到了教室。而那什么东西却瞎了,类似于电脑充电线的东西上面的 3 个字母像是在暗示着什么。
19 区赛前夕
转眼间到了 12 月,区里的区赛使默默到机房去的机会增加了。同一时间内,题目数量指数级增长。校方好像也特别重视这场仗。
“这一次的区赛就是区里的 CSP,甚至是 NOIP。”RFK 在讲台上讲着,表情严肃。
这是对默默的一次挑战,他还没弄清楚上次的电脑充电线是怎么一回事,现在有要打比赛了。
“区赛是 OI 赛制,6 道题,每题 50 分。”同学提醒默默。
默默问道:“要写 freopen 吗?”一个外地的学生接道:“我也不太确定。不过,我们可以跟别的学校的 A 巨佬说要,跟 B 巨佬说不要。”大家哈哈大笑。
到了星期五,区赛就定在这两周。班会课上,老师说:“马上就要比赛了,但是机房里的同学们似乎根本就没有紧张感!”说着,就想找一个同学们摸鱼的镜头播出去。结果,老师竟然没有找到近几天的视频。“没有连接到?怎么可能。”
默默本以为这只是一次设备故障,没太在意。但第六感告诉他没这么简单。
准备放学,RFK 突然叫默默去机房一趟。默默正疑惑着,只见 RFK 的电脑上是一道默默没见过的题。
“默默,你过来。我给你讲一道题,这道题的套路别的同学都知道,但是你不知道。比赛前让你理解一下。”
那道题是 P1886 的略微改编版,但是思路差不多。
“你先告诉我,你觉得这题怎么做?”RFK 问道。
默默想起了很多,但好像都不对。
“事实上,你要维护一个区间的最小值,能用什么?”
“ST 表。但是我不太会写。听说单调队列也行,可是我也不会。”
“那我教你第 3 种方法,我看你用过那个数据结构 AC 题目。虽然这种方法常数大,但是 \(n\le10^5\) 甚至是 \(10^6\) 的时候都没什么问题。”
“谢谢老师,那您开讲?”
20 奶茶事件
过了大概 20 分钟,默默终于明白了该数据结构还有如此功效。
正准备关掉电脑,这是默默的班主任又跑了过来。她说:“哟,默默你怎么在这儿?别的同学除了值日的都放学走了。”默默答道:“老师给我讲一道题。”“这么勤奋,了,来,我手里这杯奶茶正愁每人喝,给你喝了吧。”“谢谢……老师。”默默正纳闷儿着。他总感觉哪里有问题,可是又不好说出来。于是他迅速跑出机房。
“不对不对,哪里有问题。”默默想着。还是口袋里的纸巾让他退出思考。
“诶,纸巾忘丢了。”他嘟囔着,返回机房。立刻扔掉纸巾就走了,他看见班主任与 RFK 坐得很近,好像在一起聊着什么,应该是在讨论。他还听到了班主任说什么东西坏了,准备去检查一下。
等到了一楼,默默见到了他的好朋友 XCH。XCH 看着默默手里的奶茶,问道:“咦,你怎么有一杯奶茶,你不是前几天才被骂过一次吗?”
“我也不知道。”默默答道,“这东西不知道怎么回事就到了我的手上。”说完,又将刚刚的事情重新说了一遍。
“我不喜欢喝奶茶,不知道为什么现在这么多人喜欢喝。”XCH 用粤语说道。
默默才想起来 XCH 是 GD 的,他用他会的粤语回了一句:“我知道你不喜欢,但是可能别人觉得好喝。不过,喝太多不利于健康。尽管我也不是经常喝。我对此持中立态度吧。不然又有人说老师不会犒劳学生了。”
“我也该走了,明天见。”XCH 说完,冲出校门。
默默也刷脸准备离开,心里却想着:“今天的事情总感觉哪里不对。”
21 区赛赛场
还是没等默默思考完究竟是怎么一回事,区赛就到了。
比赛地点在区里的某间老学校。虽然教学楼比较旧,但用的是最新的 Windows 11 系统。Dev-c++ 的终端看着也比较高级,是默默从未见过的。
“请同学们登录账号。账号是你的考号,密码是……”监考老师在讲台上念着。
默默在键盘上敲着,进入了考试界面,等待开考。
“叮铃铃……考试开始,请考生开始答题。”刺耳的铃声响起。
默默打开了第一题。
第一题是给你一个整数,要你将这个数字去掉前导 0 后输出。
“这题并不难,在洛谷上应该是红或者橙。”默默心想。他敲出了一份仅 10 行左右的代码,跑了一下样例。两个样例都过了。他开始看第二题。
第二题是一个二维数组,要求你在数组上选择一个点,求出最大收益。收益就是数组中所有与选定的点同一行或同一列的所有元素的值的和。
“橙吧,简单。只是不知道在哪里见过。”默默又飞速敲出代码。两个小样例还是对的,他也就没再检查。
鼠标划到第三题。要求你维护一个书架,对于所有书进行操作,很像双端队列。默默感觉还是橙,只是用了 map 统计每一本书,对于 \(q\) 次询问每一次 count 以下即可。默默在草稿纸上列了一些算式,用了大概 50 行代码才过了样例。
他心想:“\(q \le 10^6\) 时间复杂度 \(O(q \log n)\) 不知道能不能过,应该可以吧。”他看着他写的 scanf,忘记了同学赛前说过比赛用的是老爷评测机。
第四题是对一个字符串进行修改。就是让它重排后字典序最小且相邻两个字母不同。题目短小,但默默没想到怎么便捷,只是写了 186 行乱糟糟的代码分类讨论。两个小样例毫无意外的过了。考虑到还有大概 40 分钟,默默也赶紧去看第五题了。
第五题是一个变种 01 背包,使用贪心即可。码量不高,默默只用了一种贪心策略就过了样例。他又在草稿纸上列了几组数据,那种贪心策略都过了。默默也没想别的。
第六题是真不难。虽然默默感觉是道黄题,但是是最小生成树+简单贪心。贪心证明也不难。默默打完 Kruskal 之后,测了两组样例,过了。他长呼一口气,还剩 20 分钟,再检查一下就完了。
所以剩下的 20 分钟他一直在查看样例是不是真过了、long long 有没有开、有没有 Windows 能过编译但 Linux 会 CE 的情况。他想起之前有一次用 system 把评测机搞炸了,不禁笑了出来。
“叮铃铃——”又是刺耳的铃声响起,比赛结束。
22 考后清算
默默在等待区赛出分的时候,搞了几天文化课。
过了几天,成绩和代码出来了。RFK 也把题目和数组放到了学校 OJ 上。默默提交了自己的代码。
第一题 \(\color{white}\colorbox{green}{Accpted}\)。
第二题 \(\color{white}\colorbox{red}{Unaccepted 得分 0}\)?怎么回事?默默找了好久,才发现是为了节约码量,处理的时候错位了。
第三题 \(\color{white}\colorbox{gold}{TimeLimitExceeded 得分 70}\),应该是被卡了。默默一看,最大点 1274ms。改成 ios::sync_with_stdio(0) 就过了。默默才想起是老爷评测机,开始后悔没有用 IOS。
第四题 \(\color{white}\colorbox{red}{Unaccepted 得分 0}\),是分类讨论时乱来导致的。默默:还不如输出 Impossible。
第五题 \(\color{white}\colorbox{red}{Unaccepted 得分 80}\)。贪心策略错误。但是两种常见策略混合能过。
第六题 \(\color{white}\colorbox{red}{Unaccepted 得分 10}\)??原来是并查集写错了。
加上评测机波动,算出默默的总分在 \(135\) 上下。(因为谁也不知道系统的评测机评出来的第三题是多少分)最后官方给的分数是 \(150\),踩线一等奖。
23 梦中神仙
那天晚上,默默睡觉时梦到了一个神仙。
神仙:默默,你知道你为什么在上次 CSP 结束时变回猫形吗?
默默:不知道。
神仙:因为你只有在备战比赛时或者比赛进行中、结束后两三周才会有人的形态。因为区赛与 CSP 间隔过小,故没有变回。
默默:谢谢老神仙!那我以后的路怎么走呢?请指教。
神仙:OIer 最重要的是平衡文化课(whk)和 OI。你在今后,将会遇到许多这样的事情。我们正在考验你的能力。
默默:原来如此,那我现在身边还要注意什么呢?
神仙:还记得上次你在机房被线绊倒吗?上面的三个字母……呵呵,可有大学问,希望你还记得。因为现在它已经被你的班主任拿走了。以后,要注意细节。这次区赛,你的 IOS、并查集错误就是一次警告。
默默:多谢指点。那人际关系方面要注意什么?
神仙:这简单,多发展就行了,暂时不会使你的前途受挫。不过,你的班主任和 RFK 的关系、机房的小细节、RFK 与 vvv 的真实关系……这可都不简单呐!还要多加小心、警惕、细心才是。
默默:老神仙,能具体讲讲吗?
神仙:这还不行,需要你自己来探索……好啦,快要起床啦,祝你好运。
“起床。不要像昨天一样赖床啊。”老师开门走了进来,叫同学们起床。默默若有所思,幸亏对话内容都记得。
“以后还要好好观察。”默默边叠被子边想。
24 校园谈话
早读时分,默默正在大声朗读课文。班主任照常巡堂。默默虽然表面在认真读书,但实际上是在思考着 vvv、RFK、以及那个在教室里巡堂的老师这三人之间的关系。
下课铃响,默默扔下书本,拦住了着着急急准备离开的班主任。
“老师,上次机房的电线到底是什么?”默默率先打破僵局。
“你说的是什么电线,我不清楚。”女声还是那把熟悉的声音,但默默认为眼前的老师似乎在瞒着什么。
默默又拦住了准备去别的班上课的她,开口道:“上次在机房,有三个字母的电线!而且,区赛前,有一天放学我去机房,你和我们信息学教练 R 老师在密谈些什么!肯定有问题,对吧。”
老师:“什么字母,我教政治,不用字母。还有,我和 R 老师说的,不过是你们集训认不认真的问题。默默同学,老师还要上课,请不要拦着我。”
默默:“急什么,还有十分钟才上课。老师,你这么急,到底想对我们信息学的同学做什么!”
老师:“难道我现在还要教你如何对老师礼貌吗!如果你再这样,我就送你抄两遍第四单元提纲+900 字检讨+停训两周大礼包!”说完,走楼梯下去了。
中午,信息学集训时间。
RFK 宣布自己做题。他刚准备在洛谷寻找着下次模拟赛的题目,默默围了上来。
“老师,你上次和我们班的班主任老师在机房密谈什么?”默默问。
RFK:“你只是学生,不用管这么多。而且,你不觉得这很不礼貌吗?”虽然话很坚决,但默默看到老师的脸红了,应该是愤怒的红。
默默:“老师,那我不问这个了。那我想知道,上次在这个角落绊倒我的电线是什么?有三个字母的那条。”
RFK:“默默同学,你想多了。机房里的地板上哪来的电线?还有什么字母,你还是想想你还有多少题目没做完吧!”默默看到,RFK 的表情变了,耳朵也红了。
25 加深图论
在经过论证无果后,默默开始学习新的算法。
在喵客园,他找到了一篇详细介绍二分图的文章。文章介绍匈牙利算法时,会举很多生活中的例子。比如选同桌。默默看的非常入迷,顺便把匈牙利算法的搜索模版记牢了。
第二个学习的是 Tarjan,他想起了割点割边、缩点、Tarjan 求 LCA 等等的东西。dfn 和 low 想着也不难写,觉得像借助了递归回溯的性质。他选择了 炸铁路 作为例题,虽然他以前用 \(\mathcal{O}(n^2)\) 冲过去了,但默默又写了一遍 Tarjan,也是过了。
第三项,他把老师布置的一道分层图紫题研究了一下。借助了题解生动形象的示意图和新颖的方法。默默经过了半小时的调试,AC 了老师布置的题目。
时间刚刚好,要回去上课了。他不知道,今天的事为以后的某个星期奠定了基础。
26 期末高压
期末即将来临。与期末、寒假同时到来的,还有 SM 中学的 0.5+5.5 的数学+信息学选拔。
SM 中学,FS 市最好的高中,目前没有之一。这次 0.5+5.5 的选拔,顾名思义,是在本校读半个学年,然后一直到高考的 5.5 年都在 SM 中学读书。对被成功选上的同学而言,是对他们的前途的光明、会成为学校的榜样、学弟学妹仰慕的对象,这是光荣的事情。如果在 SM 中学经过培训,进入省队,在 NOI 赛场上斩获金牌,进入名牌学校也不是梦了。总的来说,SM 中学是许多人挤破头都想进的。
好事不多,名额有限。这次选拔只选数学或 OI 人才。两科加起来仅 80 人。数学更是占了大半,65 人。对于 OIer,机会不多。下次选拔要等一年半后的 2+4 选拔了。
选拔门槛也高。你要凭借语文和英语成绩先进 SM 中学的冬令营,再进行第二轮选拔,选出那 80 人。冬令营只有区里的最优秀的 160 人能进,其中有 30 个 OIer。一半经过第二轮选拔后才能留在 SM。
学校也特别重视这次选拔。这估计也是默默还是人形的原因。为此,学校特意加课训练语文、英语+数学/OI。
期末也是艰难的,是面对全区的考试。老师们也为学生们加了一把劲。学科任务更重了。平衡竞赛与文化课,成为了每一个无论是数竞生还是 OIer 的难题。
默默正在紧张地规划他这个学期剩下的时间,其他的都只能暂时放放了。
默默:这算是高压?那以后初二初三甚至是高中呢?
27 语英加练
学校里以前专门对数学和 OI 进行训练。数学组成 A 班和 B 班;信息学只有一个班。
学校将信息学的一个班+一些不搞竞赛的文化课优秀同学短期组成了 C 班,一起备战选拔。
默默留意到,C 班上课的老师是年级第三好的班里的老师。A 班和 B 班以此类推。
默默:重心应该是数学。
C 班的语文老师是 708 班的老师,默默不认识她。她经常讲一些古文的高级知识点以及阅读的题型答题方法。
英语老师则是级长,掌管学校德育事务。英语水平不赖,会在文章的一些地方拓展默默从未听过的短语或单词。想起自己的脑容量只有 25 克,尽管自己是人形。他上次忘问神仙了,自己的能力和智力会不会根据形态而变化。
就这样,默默在这个临时的 C 班里上了几节两个小时的课,英语还学到了点东西,语文则掌握了时间分配技巧。
语文老师说,这个第一关,要求快,不求精。默默记住了。
28 信息加练
信息学的选拔备战还是由 RFK 负责。RFK 也没说什么,只是按平时上课的流程走,大概是觉得平时的训练也够了。
加训的时间同学们的状态也和平时差不多,平时没做完的题,加训的时候继续做。有个叫 YSZ 的同学特别喜欢内卷,从普通分治扩展到扫描线(二维偏序)再到 CDQ 分治(三维偏序),最后再内卷线段树分治。YSZ 被老师表扬了一顿,大家眼里满是“%%%”“orz”。
默默依旧在学习别的,像是树形 DP 变种、进阶贪心、状态设计更复杂的 DP 等等。
让默默变轻松的还是气氛。虽然后排几个男生讨论着内向基环树的性质、几个八年级的学长在讨论范德蒙德卷积、坐在老师旁边的一个同学在研究矩阵乘法、一个在年级中较为拔尖的同学正在训练 2-SAT,但是班里的八卦、各种机房趣事依旧照谈。每天回到宿舍,舍友们还会讨论各种有趣的话题。
尽管是加练,但同学们的热情与平时的温暖是不变的。
29 足球奇遇
明天就是选拔了,但体育课还没停下。
体育课上,老师考虑到同学们压力较大,增加了自由活动的时间。
现在开始自由活动,包括丁泽林在内的十几个同学准备踢足球,但是还少一个人。“默默,来踢球吗?”一个男同学邀请道。“我能踢吗?”默默想起自己对飞驰的足球天生有着一种恐惧,可是由于现在他是人形,所以也没那么在乎。
“你可以的,加入我们吧。”丁泽林也说。终于,默默加入了。同学们马上分好队伍,准备开球。默默和丁泽林以及四个男生一队,丁泽林做守门员。
对方开球了!对方前锋 YSZ 带着球过掉了一个后卫,凭借脚法即将杀入禁区。此时,默默看准机会冲过去,抓住 YSZ 的一个小漏洞,踢了一脚。球瞬间飞到了对方地盘。默默的一个前锋队友抢到,带着球寻找机会冲过防线,一脚射门!
“啪”,球打在了门柱上,被对方守门员抱住了,没想到他开球失误,球到了默默所在队伍的另一位前锋的脚下,又是一脚射门……
好一个死角,球进了!默默看得一清二楚,手舞足蹈。
时间飞逝,下课了。同学们有说有笑地返回教室,情谊更深了。队伍里的另外四个同学也和默默成了好朋友。“默默,你刚开场时的那个解围真漂亮!”默默也成功克服了猫族天生对足球的恐惧。
下一节课,历史老师看到同学们如此兴奋,说:“开心是好事,但是你们这些搞竞赛的同学明天就要考 0.5+5.5 了,还是要好好复习才是。今天的历史作业就不用做了。”班里是欢呼声一片。
明天就是 0.5+5.5 的第一关选拔——冬令营选拔,考得好先进冬令营,在冬令营里会有第二轮选拔。默默的表现会如何呢?他能否进入 SM 中学?其他学校的同学又会如何呢?丁泽林、YSZ 等其他同学,他们能进入冬令营吗?
欲知后事如何,且听下回分解。
第 3 部(30 章~45 章)
30 选拔前夜
晚上,默默得知明天早上要 6:20 起床,信息学的同学要提前坐学校的大巴前往 SM 中学考试。那天晚上,默默辗转反侧,难以入眠:我真的可以吗?
时间不容他思考。晚上 10 点,他还是不小心睡着了。他居然梦到了神仙。
神仙:默默啊,明天的选拔很重要啊。
默默:老神仙,我知道,我想问个问题:我的能力和智力会不会根据形态而变化?
神仙:你已经成长了,即使是变成猫,能力和智力也会保持人的水平。
默默:我明白了。那,我能进冬令营吗?我能进 SM 中学吗?
神仙:看你的造化……天机不可泄露,今天就说到这儿吧。记住,信息学的主旨是学生要平衡信息学和文化课啊……
默默:那如果我进了 SM,RFK、vvv、班主任的关系对我来说重要吗?
神仙:哈哈哈,当然重要,无论你在哪间学校,这关系都很重要。你还应该知道,做事不要越界,不然你的信息学前途尽毁,你还是 vvv 发现你前的小野猫了哟……
“起床。你们今天要去 0.5+5.5 的快点,迟到就没机会啦。再等一年半啊!”默默刚想追问细节,老师就进来叫人起床了。
31 SM 考场
早上在一楼的考场考语文和英语。许多人认为,OI 里的许多东西都用不上。
考场由许多张黄色的三人长桌组成,两人的距离还算长,可是连时钟和铃声也没有。语文卷子传了下来,默默看了一眼阅读,是一篇叫《花开花落四合院》的记叙文。作文是关于科技的想象文,默默平时很感兴趣。
时间紧迫,没有人能做完卷子。默默根据贪心算法中的贪心策略,每道题都是只骗了 \(2 \sim 3\) 分就跑了,还有 50 分钟留给作文。默默套入了许多计算机科学等的内容,文章诚然有了一股科幻味。写完作文回头看前面,一整面答题卡只写了十行左右和两道选择题。
“停止考试”一个监考老师说。
英语考试也不算难。默默心想:“每篇文章都 \(O(n)\) 去读太慢了,不如用随机化算法(随便到处乱瞄)查找关键单词。”这样一来,还真顺利做完了。作文不是传统的三段式,感觉非常反套路。
“考虑 DFS,枚举每句话写完后的下一句话,形成一棵搜索树。时间复杂度为 \((3^n)\),其中 \(n \le 20\),可以运用启发式搜索和可行性剪枝优化。”按照这份思路,作文写了 14 行,字数够了。
这算是一次成功的考试。下午就要考 OI 了,他只在中午和同学们玩了一下石子。默默期待着下午也考好进入冬令营,甚至在冬令营好好表现进入 SM 中学。
下午到了,机房在四楼,同学们一个个通过老师的安检进入考场。
开始考试,默默先看了一眼题目,感觉有难度。T2 最引人注目,像是蓝题数学题。在草稿纸上推了一下式子,原来是二级等差数列求和,是只“纸老虎”。“太好了,做出来一道题。”默默心想。
T4 是一道树上问题。默默只想到了 DFS,没想到别的。他与各种边界条件作斗争,调了好久,才勉强通过样例。T4 只有暴力代码了。
T3 是一道迷宫问题。默默尝试用 BFS 解决。看到 \(n \le 2000\),还要存储如此多的字符串,他就把代码当暴力交了,没想别的。
T1 看上去比较正常,应该是绿题,可是默默到最后也只是打了个二三十分的暴力离场。
到了一楼,RFK 早就等在下面了。同学们七嘴八舌地讨论题目,有同学 T3 也打了 BFS,还有的说 T4 是树链剖分。T2 的做法大家都和默默一样,但是大家对 Linux 能不能用 __int128 做出了争论。
回到学校已是 18:30,晚修要开始了。这不寻常的一天结束了。
32 期末考试
期末考试没给默默留下什么特殊印象。只是数学考试有一道超纲题过于诡异。
数学考完,同学们在黑板上写出各自的解法。有人说,勾股定理在这里不成立,不能用,最后答案是两千多;有人说,是直角三角形,勾股定理可以套,算出来是三千多;YSZ 在黑板上方写下了他的思路,不过涉及了三角函数。因为大家都因学 OI 而接触了三角函数,所以不觉得有什么特别。默默也是难得地看懂了 YSZ 的思路。
默默:你们至于吗……题目都给你条件了你用超纲算法干什么?
丁泽林则凑到默默身旁,说,默默你认为题目有没有错。默默回了一句:“试卷说 \(\sqrt 2 = 1.141\),我也涨见识了。”
回到宿舍,丁泽林与默默还在为那道题辩论。辩论着辩论着,他们得出一个结论:不应该对答案,明天的考试科目大家都擅长,还应想想 OI 冬令营的事。
33 冬日考验
寒假到了,同学们收到了一个好消息:绝大多数人都进了冬令营。默默也不例外。
SM 中学的冬令营机房的电脑是 Win 10 的,还能自由更换背景。默默按照喜好换了一张可爱的猫咪背景,还换上了猫爪鼠标指针。
第一天,老师讲了状压 DP 的高级应用。默默似懂非懂,丁泽林则在旁边尽量用猫咪语言翻译专业术语。两人合作切了两道练习题。
中午吃饭,YSZ 凑了过来,三人谈论起 SM 的环境。
默默:这里居然没有电梯。
YSZ:那里不是又两台吗?
默默:我说的是教学楼,教室在四楼欸!
丁泽林:你直接跳上去不久行了吗?
默默:……
第一次测试在第 2 天早上,OI 赛制,一共有 4 道题。
默默:居然不开 O2?
他先将四道题都看了一眼,没有一眼题,看来这次是真能选出人才。
有一题关于序列,都要固定两个点,可 \(n \le 10^5\),暴力只有 \(20\) 分。看上去像树状数组或者线段树,不过题目条件限制新颖,默默没想到有什么突破口。
二测在第 4 天早上,赛制还是 OI,4 道题,就是不开 O2。
第三题让默默印象深刻,因为这是一道复杂的数论。他只能想到 \(O(n)\) 暴力,但是 \(n \le 10^9\),还是多测。依旧 \(20\) 分。
想进 SM 真的有那么容易吗?万幸,每天都能至少有一题能过,他心想。
34 图论课堂
一天,老师在讲一些关于图的知识点。
默默了解了效率各异的许多算法,但是最令他印象深刻的是老师的那句话:“我们可以尝试使用 Tarjan 算法解决这个问题。”他心想:“哦,我学过。”默默没看错,老师接下来就开始讲解 Tarjan 算法的实现流程。
默默看向例题,是炸铁路,就是他之前做的那道。好不容易等到下课,他问 YSZ:“Tarjan 是不是很巧妙?”“是的,它能解决许多问题,还能求 LCA。你以前学过吗?”
默默点了点头。
“那没啥了。”YSZ 说,接着他又小声说了一句,“依我看,这次选拔可能会看平时的做题记录,结合成绩进行选人。”丁泽林也插上一句:“对,而且上次我听助教说还要看纪律。没那么简单。”默默总结道:“这次一定是看全面发展的人,创新拔尖人才。”
35 最后时刻
第三次测试在最后一天的早上。毫无惊喜,默默只做出来一道题。
离场时,默默去上了个厕所,和 YSZ 他们分开了。没想到,他迷路了。默默正在努力寻找着前往食堂的路,结果草丛上的一只小黑猫吸引了他的注意。
“是我的同类。”默默心想。这时,小黑猫蹭了蹭默默的裤腿,示意默默跟它走。“你要带我去哪儿?”默默问。但小黑猫没有回答。
两猫走上校园里的沥青路。突然,小黑猫带着默默拐上一条泥土路,那里没有什么特别的,但是小黑猫加快了脚步,默默紧紧跟上。
到了学校边界的围墙附近,小黑猫带着默默找到了一本书。“哎呀,这有什么好看的?”默默叫道。小黑猫则喵了一下。
默默翻开书,一看,作者是 vvv?书名叫做《XX 中学里的秘密》。这不是默默的中学吗?
他赶紧拿出手机打电话找 vvv,结果提示对方手机已关机。
“不……”他在心中喊。但是考虑到要回去了,他只好收起书,回到饭堂。
36 七下开学
YSZ 成功进入了 SM 中学,但默默和丁泽林没进。
默默背着书包走入教室,还是那些旧同学在讨论着体育运动。班里并没有什么特别之处,除了同学 XYL 对他说:“我要摸摸你的头。”
一整天风平浪静,默默刚要面对同学分离,还有新的局面。“那本书不知道有没有用?”他嘟囔着。
晚上,他被班主任叫了出去。默默以为他被抓包了,没想到他听到了一句“你要不要当班长?”
默默一下子懵了,他想了 \(0.37\) 秒后,说:“呃……老师,我不想当。”老师尊重了他的决定。默默也知道,他要当一个“自由人”,弄明白整件事情。而且他是 OIer,空闲的时间也不多。再说,他是一只猫,别的班的同学知道全年级最好的班的班长是猫,不是要被笑话?
后来,他从 XYL 的口中得知,默默拒绝职位后的 5 分钟后,XYL 去打电话,然后就被班主任任命为班长。
“又凑齐 5 个班长了……局势怎么一直在变动?今晚我要翻翻那本书……”
“解散。”9:15 分在饭堂门口,老师一声令下,同学们立刻解散。默默并没有去吃夜宵,而是和 XYL 一起回了宿舍。
2 号宿舍楼下,XYL 用手摸了摸默默的头,说:“来撸猫撸猫。”全班的人早就知道默默是只黑猫了。
回到宿舍,只有默默一个人(猫)。XYL 在隔壁宿舍。默默趁着宿管一个不注意,带着书溜进 XYL 的宿舍。
“来撸猫撸猫。”XYL 又打算摸默默的头。默默灵活躲开,说:“正事正事。”XYL 停了下来。两人借着阳台的光翻开了书本第一页。
“上面怎么有个猫爪印?”默默说,“黑色的,应该是墨水。”
第二页,是他们机房的图片。
“是机房。”XYL 惊呼,“注意时间,2026 年 1 月 2 日。”
“那个时候,还没有电线。”默默思考着。“什么电线?”XYL 不解。于是默默跟他说了一遍。
“照你这么说,那电线上的三个字母确实很可疑。”XYL 推理道。两人把书翻到第三页,一张办公室图片映入眼帘。
“这不是教学楼三楼尽头的办公室吗?”XYL 说,“这是班主任的桌子。”
“给我上床!默默你回去你原来的宿舍。45 分上床!”宿管不知何时进来了。
离开前,默默回头给了 XYL 一个眼神。意思是,明天继续。
37 机房时间
第二天中午,默默和 XYL 吃完饭,到了机房。
没想到,RFK 并没有在那个熟悉的角落,打开全机房唯一一台 Linux 电脑,捣腾着他的数据。
默默拉着 XYL 来到上次放电线的角落,电线还在。
“上次我来,已经没有电线了。这次又来?”XYL 打破僵局。
“快看看电线上的字母,”默默说,“这三个字母是……”
“是什么?”XYL 迫不及待地说。
“UUU。意料之外啊……”默默叹了口气,“我还以为是 cat 或者 vvv 什么的。”
“出乎意料。”XYL 补了一句,“这是谁的电线?”
“没证据啊,不清楚。总不会还有一个叫 UUU 的人吧。”
本来 vvv 就下落不明了,现在冒出来一个 UUU。
“不管了,先写几道题。我再翻翻书,说不定就出来了。”默默提议道。XYL 回答说:“也行,我还有一道黑题没调出来,回去再看看。”
10 分钟后。
屏幕上 AC 亮起,那是老师昨天评讲的青题。默默起身,去找 XYL。XYL 此时正对着 9kb 的代码上下划动,还是没找出来哪里错。
默默指着他的插头 DP 说:“你看,你写的是 for(int j=1; j<=n; i++),你是故意的吗?我不会插头 DP,但是这个应该不是这道题需要的吧。”“你说的对。让我改一下。”
XYL 把 i++ 删掉,改成了 j++,提交到洛谷上。过了几秒,洛谷平台弹出了一大堆 AC,还弹出了经典的“你通过了此题!恭喜”。
“巨佬切黑,%%%。”默默做出了膜拜的动作。XYL 摆摆手,说:“这算什么,我又不是第一天切黑。”
38 新的线索
XYL 接着说:“你看看那本书现在怎样了?”
“我仔细观察了一下办公室的图片,发现这里有一台粉色电脑。”默默说。XYL 倒表现地自然:“你没上政治课吗?老师平时就是用粉色电脑上课的啊。”“重点不在这里,”默默卖了个关子,“老师说过,那台电脑一般要插入充电线才能用得好。我们可以借助这个。”
默默接着说:“瞧,这是那条电线。”
XYL:“电线不是已经破解了吗?还有什么细节?”
默默:“你看到了吗?电线后面是这本书!”
XYL:“是哦。来撸猫撸猫。”
默默:“先别撸。你再想想,老师一天要改一大堆作业,怎么可能桌上一张卷子、一本练习册都没有?只有一种可能,就是那天是期末考试。再看右下角,时间是 11:37,那个时候正在政治期末考试。老师要去 701 监考,不可能出现在办公室。照片里的老师又是从哪里来的?”
XYL:“如果老师只是有事回来拿东西呢?”
默默:“如果我说我在 701 考试接着 11:37 老师在班里呢?”
XYL:“有道理。难道有两个老师?这背影跟她一摸一样。”
默默:“太诡异了。来帮我调一下这道题吧。”
XYL:“我来看看这道题。”
XYL 往上划到顶,看了一下后说:“不是你叫我帮你调 Min_25 筛啊。我们学了吗??”默默回了一句:“你都学了插头 DP 了就不要再装弱了。”XYL 反驳:“我只是偷偷内卷了一下。还有你的 Min_25 筛代码是什么玩意儿?你交的不是线段树模板吗?”
39 四人团聚
一个周末,默默把丁泽林、YSZ、XYL 都叫到了一起。四人来到学校附近的一处公园。
在公园里,他们还遇见了其他几位同学,大家一起踢球。XYL 更是射进了一记世界波。YSZ 在赛后给大家买了一些水和饮料。几个人朝公园旁的地铁站走去。
在月台等车期间,同学们聊起了刚刚的球赛,不知不觉就扯到了学校。默默发现,几乎所有人都发现班主任、RFK 的关系很异常,但是大家都没有确凿证据。
列车进站,丁泽林带大家上了车。车里人不多,大家坐满了两排位置,有说有笑地准备去位于城郊的大商场转转。
三分钟后,下一站到了。坐在右门的同学们脸上的笑容唰地一下僵住了。坐在左门的同学们不约而同地回头一看……
有三个人上了车,分别是班主任、RFK、vvv。RFK 率先说话:“同学们都在啊。”三人在旁边的位置坐下。
默默注意到,RFK 和 vvv 的表情并没有像班主任这么高兴。vvv 已经是很久不见了,他瘦了一点。默默刚想上去问一下 vvv 一些事,但是列车到达了城郊的商场。默默要下车了。
“老师再见。”YSZ 朝老师们挥了挥手,带着同学们下车。
出站后,默默提出了一个问题:“为什么 RFK 和 vvv 的表情这么奇怪?”“肯定有问题啊。”一个同学答道。
我好像看出了什么。难道 RFK 和 vvv 有仇?
40 新的周末
周六早上,默默变成了猫。为什么?因为现在没有比赛。
他和 YSZ、XYL 约好了去班主任的家里讨论政治问题。好不容易步行到了一栋公寓楼下,他们发现一个问题:不知道老师的门牌号。
XYL 想到给 vvv 发信息。不出五分钟,vvv 果然告诉了他们正确的门牌号。
“叮”电梯开门了,一个人站在门口。“老师?”YSZ 惊呼。“你们怎么跑我家来了?”“我们找您问个问题。”
班主任家的大门开了,里面坐着两个人——RFK、vvv。但是两个人谁也不看谁,好像吵完架。
“我在阳台看到有一只黑猫和两个很像我们班的同学的人,就准备下去看一下是不是真的默默来了,你们就又吵架,礼貌吗?”
“为了什么你不知道?”RFK 喊。“到底是谁的你心里有数。我不管,这是我的!”vvv 不甘示弱。
“都别吵了。现在学生在,不要闹事。”“我就是要吵,怎么样!”
YSZ 轻轻问了班主任一句:“老师,他们是不是没有做到行己有耻?”班主任没理会。
“你们两个要吵就出去吵。”
“走啊,出去出去。”RFK 挑衅道。vvv 紧随其后。那场面,像是两个人眼里都射出闪电,谁也不怕谁。
“他们为什么吵架?”XYL 问。默默只是轻轻喵了一声,表示不知道。YSZ 则表示,他们可能不是为了 OI 上的事。
“要不,你们先出去,剩下的我来解决。”两人一猫听到这句话,立刻离开了小区。
“不,这一趟好像什么也没有收获到。”XYL 叹息着。
这时,YSZ 来了一句:“你们调查的事,其实我早就了解了。”“你的意思是……”“我帮你们找找,SM 中学有没有相关资料。”
“统一战线了。”默默心想。
41 学分层图
6 月份有省里的比赛。虽然现在只是 4 月份,但是 RFK 快马加鞭,今天教同学们分层图。
默默发现,分层图通常用 Dijkstra 解决。RFK 说,分层图一般有两种建图方式,一种是显式建图,另一种是隐式建图。默默更喜欢隐式建图,因为感觉像是最短路加了一维。dis 数组也很好写,通常加上一维就够了。
P4568 就是一道分层图题目。其实并没有那么难写,本质上还是最短路。
分层图难也就难在图论建模而已。
P3505 很好地使用了分层图的思想。利用将图分层的技巧融合上了贪心等等的算法,成为了一道巧妙的好题。
学习分层图,很好地填补了默默对于图论问题的空白。默默知道,CSP-J 有一次就出了分层图的题目,那是一道绿题。它借助了余数。
不知道 YSZ 在 SM 有没有学过分层图?
42 旧藏书室
2026 年 4 月底,SM 中学旧藏书室。
现在是自由时间,YSZ 来到了 SM 中学的旧藏书室。他还有 40 分钟。默默给他发微信说,有一天他去给班主任补交作业,看到写着“SM 中学旧藏书室有秘密”的纸条。
YSZ 走进藏书室,里面只有一个老师开着电脑办公。见老师也没理他,就在书架间寻找着可疑的书。
他拿下一本《动物的关系》的科幻书,里面夹着一张纸条。
YSZ 看完,吓了一跳,是一封……情书???谁写给谁的也不知道。
还蛮甜的。
这么不正经的东西应该和事情的真相没什么关系,不过为了休闲娱乐,YSZ 把它折好,放在口袋里,准备给原学校的同学们看着玩。
有一本叫做《猫咪的秘密》的书,里面的猫咪主角和默默很像。
“这也没有什么啊,只能明天找了。”YSZ 有点沮丧地说,“劳动节的时候,就跟他们说没发现什么吧。”
望着 YSZ 一步步离开,藏书室里的老师突然望着他笑了。
43 假期会面
5 月 1 日,令人期待的劳动节终于到来。四人在学校外的一个儿童乐园里碰面。
YSZ 拿出了前不久的新发现。其他三人立刻和 YSZ 看着那封情书。
默默率先发现了一个问题。通过丁泽林准备的猫咪打字键盘,众人发现了一个细节:这封情书是由两种字迹写成的。
XYL 开悟了:“默默这是在提示我们,这是两个人写的。情书不简单。”丁泽林推理着:“你的意思是,这两个人同时喜欢上了同一个人?”
打字机的屏幕上显示着几个字:“上面的字和 RFK 的字迹很像,我看过他的教案。”默默找到了线索。YSZ 明白了:“你的意思是说,有一部分是 RFK 写的。”“那下面呢?”XYL 迫不及待地问道。
“其实不用想了。我刚刚看到了那边有个熟人,一定是那位。”默默打完字,开始猫叫。
大家朝默默提示的方向望去,震惊住了:vvv 和他们的班主任正有说有笑地散步。
“哎呦我去,怎么回事?”XYL 没忍住,叫了出来。YSZ 呆住了:“这确定不是双胞胎?何意味。”
“那,那本《猫咪的秘密》呢?”丁泽林问 YSZ。“在这儿。”YSZ 把书拿了出来。里面掉出的纸同样引起了大家的注意。
“这里也有一张纸?”丁泽林捡起纸。他打开纸,看到上面写着几个字:5 月 11 日晚上 6 点 10 分,学校 4 号楼 6 楼报告厅,有你想要的。还有,你一个人带上 XYL,我有话说。
“真来了。”默默打字。
“这个‘你’是谁?要不要去?”XYL 问默默,“如果是陷阱怎么办?而且还点了我的名字。”
“我去。”默默打字,“XYL,我们去看看到底有什么,学校里很安全。去报告厅外面不会出事的。”
丁泽林说:“这字迹……像是班主任的招牌草书?”“那就对上了。”YSZ 说,“XYL,带上默默,你们俩一起。”
44 6 楼争斗
5 月 11 日早上,默默居然临时变成了人形,还是接受了神仙的临时命令,晚上睡觉后再变回猫。
晚上 6 点,默默和 XYL 一起吃完晚饭,走向 4 号楼。在饭堂与 4 号楼 2 楼的连廊上,XYL 问默默:“你确定要去?”默默说:“确定。这可能是为数不多的机会之一。”
电梯从 1 楼升上来,到 2 楼时有几个老师在看手机。两人上了电梯。4 楼出去了三个老师,5 楼出去了两个老师,只剩 XYL 和默默了。电梯到了 6 楼,“叮”的一声,门开了。
报告厅的灯亮着。两人走了进去。报告厅里,三个人看起来等默默很久了。一个是班主任,站中间;vvv 和 RFK 各站两边。看似一场战争即将到来。
“默默,你果然来了。”班主任说,“来,你说说,我该选谁。”
XYL 一下明白了:“老师,我们真的可以这么加入吗?”
vvv 抢先说话:“默默,你的 Dev-c++ 是我教你用的,让她选我。”RFK 不甘落后:“默默,你的莫队是我教的,让她选我。”
班主任说:“XYL,你身为班干部,应该帮老师了。来,说句话。”
空调使报告厅的温度逐渐下降。明明是比较热的一天,但是报告厅像哈尔滨的冬天一样冷,一点都没有 GD 的样子。
现在皮球被抛给了 XYL。XYL 只是支支吾吾,不知道该说些什么。他看了一眼默默,默默小声回了一句:“我也不知道。你自己选。这是 Plan A。你先搪塞一下,我看看局势,不行就先跑,这是 Plan B。”
XYL 终于清了清嗓子,做出了决定:“首先,老师,我不了解你的意思。其次,老师你说过我们学生不能随便干预你们的事。第三,老师你应该回班登记好好学习的同学的名单了。第四,快要上课了我先走了……”说完,他一把拉起默默,跑出报告厅。
两人只听到一句女声:“算了,今天先到这里吧。”
45 回归 OI
一个星期后,省赛集训开始了。按照规律,默默变回人形。
不过变回人形对默默说已经不太重要了。还是有些事情,他想要等到省赛结束再知道。此刻,他只需要专心学习 OI。
一套套模拟赛已经是家常便饭,同学们早就习惯了。但是由于是第 1 届,RFK 手上也没有什么资料,让人感觉到神秘感。
RFK 和 vvv 有时会因为题目而吵架。比如一道题,两人做法的时间复杂度都是 \(O(n \log n)\),提交之后用时一样,内存也一样。vvv 先说:“你的代码里 set 套了个 vector,常数能不大吗?让学生用我的做法。”“你的 unordered_map 嵌套,常数很小吗?”RFK 反驳。
默默总会在这个时候插一句:“都别吵了!时间空间一样,思路也都不难。哪里不同了?我们两种都学。”机房的同学们大多同意默默的观点。
模拟赛是 RFK 和 vvv 轮着出。难度都差不多。第一题就是红题,纯签到。后面难度递增,最后一题基本上都是青,偶尔有几道蓝。默默想起了 vvv 在 CSP-J 组放了两道紫的事。
夜里的宿舍灯火通明,哪有晚上的样子——同学们都在用小灯复习各种算法和数据结构。
省赛又会如何呢?省赛前又会有什么事?
欲知后事如何,且听下回分解。
第 3.5 部(番外 1,46 章~47 章)
46 精彩球赛
47 再来一次
第 4 部(48 章~58 章)
48 机房推理
很抱歉我们的第 48 章被可爱小猫猫 @xuyilang3 吃掉了。
XYL 和默默在 RFK 给定的“合法摸鱼时间”里观看第一场足球赛的直播回放。当默默看到裁判对 XYL 高举红牌时,XYL 那不解的眼神,默默笑得腰都直不起来。
两人看完直播,默默翻开了《XX 中学的秘密》。那本书里还提到,骗术的最高境界是瞒天过海。“我们会不会被骗了?”XYL 提出。“为什么会被骗?”默默说,“我们哪里被骗了?”“第三页的图片,我们那天都以为是两个人。但是我昨晚睡觉的时候想了一下,有没有可能是我们看错了?”XYL 推测。“可是那次她确实在监考!”默默反驳。XYL 继续推导:“如果真的有两个人,那么为什么她们的衣服会一模一样?”
“老师喜欢逛街不行?几个老师一起买衣服。”
“……”
“你说有没有可能是你记错了?”XYL 说,“当然可能真的是两个人。我可能误导了以后的方向。”
“不太可能,就凭我的成绩。”
“如果真的有两个人,那么另一个人没见过啊。”XYL 提出疑问,“难道说,全班都被骗了?两人混淆了?”
“有可能,前提是她们比较像。”默默说,“那就只可能是双胞胎了。”
“我说怎么有时候教室有香水味有时候没有!”XYL 说,“怪不得这样,说通了!”
“也不算通。因为我们班有个女生经常把花露水当成香水喷,怎么还有这种人。”默默说,“她还是班主任的班干部啊。”
“那线路又断了。”XYL 说。
“就是,某个班干部带头干‘好事’。”默默说。
XYL:“你说谁?”
接着两个人关上电脑,一边笑一边离开机房。
49 考前准备
来到机房,默默就是在洛谷上找了几道题做。里面覆盖线段树、单调队列、图论建模、KMP 等的知识点。
省赛大纲每位同学人手一份。默默看了几下,都是些绿难度一下的算法。
默默、丁泽林和 XYL 三个人因为莫队还是有点没弄懂所以在博客园上翻博客。默默翻到了一个叫“bunnyCloudy”的巨佬的博客。里面解释了一下莫队的基本思想,从 \(O(n^2)\) 悄悄优化到 \(O(n \log n)\) 的原理,还有奇偶化排序优化。
“bunnyCloudy 是个巨佬啊。”丁泽林感叹。
接着,XYL 使用锐捷云课堂控了默默的屏。两人一起写代码。有一道要用树状数组+图论建模的题,XYL 写树状数组的 Add 函数,默默写 Query 函数。XYL 写 DFS 预处理,默默写 BFS 求解。XYL 加上倍增优化,默默最后把关完善细节。WA 了、TLE 了,两人一起调代码。
样例都过了,默默点击提交,满屏绿色的 AC 跳了出来。两人都笑了。
晚上,默默在晚修做完了作业。因为明天就是省赛,没法上课,默默就翻了几下课本。语数英没啥好看的,政治就是背东西+理解概念,历史对他而言比以前简单多了,随便来都有 90。地理,以前了解过一些概念,上 80 很轻松。生物是默默的弱项,他拿 40 分钟看生物书。
默默的同桌的文化课比默默强。他见默默正在仔细看生物书上的一张图片,便给默默指出一些关键的地方。班主任本来在讲台上无聊刷小红书,看到默默在研究生物,也跟着默默看书上的图片。
50 四道题目
省赛在广州的一间重点高中举行,还能看到附近的地铁站。那间高中和 SM 中学看着差不多大,设施都差不多。学生不能坐电梯,所以默默走楼梯上了位于四楼的考场。
电脑没有新到哪里去,但是只能用 Dev-C++。事实上,默默也只会用那个。
第一题是最简单的。但是它考察了反悔贪心。默默不太熟。他尝试在草稿纸上写了几下可能的方案,考虑到像容斥那样先加后减,可能有机会。半小时后,小样例和大样例都过了。
第二题跟树有关。题意类似于他以前在洛谷上看到过的 保安站岗,但有些不一样。默默尝试使用普通树形 DP 思路解决,但是很奇怪,样例怎样都少了 \(1\)。他又结合了一下丁泽林以前讲过的一个解决繁杂计数的小技巧。借助那个思想,默默终于过掉了样例。大样例超时了,默默看了一眼,大概能拿 \(72\) 分。有一个 \(\log\) 要去掉才能满分。
第三题看着很难。默默想了一下,应该是莫队和树套树的结合。还剩下一个半小时。默默草草打了个分块+离线。代码时间复杂度为 \(O(n^3+m \sqrt m)\)。代码看着很奇怪,但是过掉了样例。应该能拿 \(24\) 分。
第四题是“防 AK 题”。一道数论、DP 和图论的结合,要用上单调队列优化。数论部分应该是 Pell 方程之类的。默默以前只听过,没学过。而且打 NOI 级赛事这玩意近期用不上。DP 是插头 DP。“XYL 擅长的东西!”默默心想。图论是 k 短路加上支配树的思想。
题目说,要先解开那个方程(就是默默认为类似于 Pell 方程的)。接着选手通过题目的步骤破译出下一题,解决这一部分,要用插头 DP。最后根据第二层的答案,获得一张图,用 k 短路加上支配树求解最后的问题,才能获得一百分。
有特殊性质,只要选手能做出三层问题中的一问就能获得 \(30\) 分。暴力的时间复杂度远高于阶乘,但是也有 \(5\) 分。
默默把暴力打了。时间也差不多了。他检查了一遍。估分:\(100+72+24+5=201\)。在省里也有一等奖了。
51 省赛出分
本章写什么有一半是@xuyilang3 的建议 ,让我们一起膜拜他。
一天中午,默默、XYL、丁泽林一起去机房刷题。RFK 坐在角落,旁边是 vvv,挥手示意他们过来。
vvv 说:“这是省赛的成绩,考得还挺不错。你们三个都有一等奖。一等奖分数线是 \(177\) 分。”
默默看过去,那是一张表格。最上面的是 XYL,分数是 \(100+100+20+35=255\) 分,全年级第一。第二名是默默,\(100+76+28+5=209\) 分。丁泽林第二题跟默默做法几乎一样,可惜被卡常了 \(100+68+20+0=188\) 分。
“你们三个都很优秀。9 月是 CSP 初赛,你们可以考虑提前准备准备。”RFK 说,“默默和丁泽林先回去吧。我问问 XYL 第四题怎么做到 \(35\) 分的。”
丁泽林在洛谷发私信问默默:“XYL 第四题怎么 \(35\) 的?”
默默:“他打了个 \(30\) 分的插头 DP,加上 \(5\) 分暴力分。”
丁泽林:“你第三题怎么比我高 \(8\) 分?理论时间复杂度也差不多啊。”
默默:“分块常数比较小。”
XYL 对着两位老师讲完了自己的思路,回到座位上。RFK 走上讲台,vvv 在最后一排看着官网关于颁奖的消息。
RFK 说:“这次省赛,XYL、默默、丁泽林是七年级前三,大家掌声鼓励。”讲台下响起象征性的鼓掌。
RFK 又说:“XYL 是全市为数不多的上了 \(250\) 分的同学。这很不容易啊。最后一道题他还用了自学的插头 DP,实现比较有创意。”
接着就是讲题。大家已经习惯了这种节奏。
机房时间很快结束。下一节是数学课。大家陆陆续续关上电脑走出机房。有一个同学从 2 楼教室跑上来找 XYL,说班主任有事找他。
三人对视了一下,难道又有什么东西?
52 纸上秘密
数学课上到一半,默默还在担心 XYL:他不会被罚了吧?数学老师突然点名:“默默,来,你来说一下,这一步证全等用了什么判定。”
默默吓了一跳。他没有准备,站起来,支支吾吾地回答:“这是……这是……SAS。”
“啊对了啊,坐下。”数学老师说。默默终于呼了气,赶紧坐下。
数学课的下课铃响起,XYL 才匆匆忙忙从班主任的办公室里跑回教室,手里拿着一个信封。
丁泽林问:“啥呀?”XYL 小声说:“机密文件,周末老地方说。”XYL 又补了一句:“这个,是一封信还有一些东西。”默默点了点头。
学校旁边的图书馆成了三人的小基地。这块地方很安静,人不多。而且比较漂亮,有八九层楼。分南北两栋,中间有连廊连接。北栋的 3 台电梯甚至能俯瞰到 1 楼,上到 9 楼时几乎所有人的腿都会抖。
他们约好在 4 楼的初中生文学区旁的两张桌子上谈。丁泽林最后姗姗来迟,还是和 YSZ 一起来的。YSZ 说,SM 的旧藏书室现在不允许学生进入了,他没找到新的线索。XYL 拿出信封,打开,把信纸和里面的一个书签放在桌面上。书签比较精美,XYL 说是班主任看他省赛发挥得好送的。信纸上面的字是她写的。
“肯定有大收获。”默默说。
XYL 打开信纸,上面没有什么特殊的图案,有的全是班主任的招牌草书。连 DeepSeek 都看不懂的那种。
前面几句是客套话,讲的都是些关于“问好”“祝贺省赛发挥出色”等的句子。
中间就是一些关于真相的话了。但是也没有扯太多。就是说,6 月 22 日,星期一,晚上 6:00,4 号楼 6 楼报告厅见面。此外,还提了一下电线。那条电线确实是连接摄像头的。当时由于情况,她没有说。现在情况有变——附近的 GY 中学信息队开始有躁动,影响到了默默的学校的信息队。而且 UUU 现在就在 GY 中学。有些事还是要说清楚。所以,班主任准备告诉 XYL 一行人一些真相。
末尾,她讲了一下她以前的故事。他们这才知道,原来 vvv、RFK 和她以前是高中同学。二十年前,她们总喜欢在默默现在在的图书馆讨论各种问题。
“6 月 22 日晚上 6:00,我们真的要去吗?”XYL 问。丁泽林说:“去。我说他们一开始给我们设这个局,让我们查,就是考验我们现实中的逻辑推理能力。让我们了解过去,才能更好地让师生联系在一起。”默默补充:“而且同学们也喜欢八卦对不对?”
四人投票。去就是左手,不去就是右手。“3、2、1。”YSZ 倒计时完,四个人都举了左手。
53 假装散步
6 月 22 日临近期末。虽然现在离那天还有一段时间,但是默默也坚持去机房练习。
吃完饭,默默在学校散起步来。他先去了一趟 4 号楼 2 楼。4 号楼是小学教学楼,有许多小学生在教学楼与前往 6 号楼和食堂的连廊间的长方形空地上做游戏。时不时有几个学长或学姐从这里坐电梯上楼。默默按下了上行键。5B 电梯从 1 楼升了上来,到了 2 楼,“叮”的一声,门开了。默默走了进去,按下按键“6”。电梯到了 6 楼。
默默走出电梯,看到报告厅的灯亮着。他悄悄走了过去,没人听见。
只要它想,猫走路其实可以做到几乎没有声音。
走了几十秒,到了报告厅后门前。他慢慢用手拧开把手,拉开小缝,眼睛往里看——是两个人,都坐着。坐着的人的身影好熟悉,是校长!旁边的人不像是学校里的。默默总感觉在哪里见过……
“是 SM 中学的 OI 教练,管初三的。”默默心想。
两个人没有聊闲天的样子,倒像是在说一些很严肃的事。“难道跟 GY 中学有关?”默默嘀咕。
“你在干什么?”丁泽林突然出现在默默身后,小声问。
“看看,校长和 SM 的初三 OI 教练在谈话。”默默回答。
“快走,我看到班主任从 6 号楼的另一边走过来了。还有大概 20 秒到这里。”丁泽林拉上默默,从 4 号楼另一边的楼梯飞速下楼……
他们到了在 2 楼的教室进行正常的晚修。看似什么也没有发生。
54 GY 中学
GY 中学在区里地位也不低,但是没有默默的中学名气高。GY 中学的竞赛课程体系也没有那么灵活。唯一的优秀就是 OI。它的其它四门竞赛学科都几乎没有实力在区里名列前茅的教练。
但是 GY 中学的 OI 还能和默默他们有的一比。GY 中学有一个金牌信息学教练。10 年前的区赛题就是他出的,难倒了许多镇街的考生,导致那一年一等奖分数线比其他年份低了差不多 50 分。
中午,默默在机房里打开了他的电脑。网络比较顺畅。他打开百度,搜了一下 GY 中学,但是并没有什么发现。丁泽林查的是往届 0.5+5.5 还有 2+4 的 SM 中学录取 GY 中学的学生人数。他正在分析每一年的数据。
XYL 则负责研究那一年 GY 中学的金牌教练出的题目。看看有什么特别之处。
“没找到什么啊……都是些什么学生参加某某艺术活动之类的,毫无线索。”默默哀叹。
丁泽林说:“GY 中学每年的被 SM 录取的人数波动也不大,没什么疑点。”
两人齐齐看向 XYL。XYL 则是洛谷翻着题目,时不时点开题解。
“有什么消息吗?”丁泽林问。
“有一点。”XYL 说,“我注意到除了那一年,其他年份的卷子或多或少会有一点洛谷上的相似度高的题目甚至原题,最少也就有个相同的技巧。但是那一年不一样,那一年的题目技巧新颖、题面新颖、贪心思路新颖、细节处理新颖、算法或数据结构冷门。没有一个 OJ 上有一道和其中一题有点关系的题目。”
“难道说他们有一套独特的训练题目?很多教练都是从原有 OJ 上的题目选题的。连 RFK 也不例外。”丁泽林说。
默默说:“但是 vvv 的题目也是他自己出的。”
“照这么说,vvv 会不会和那个教练认识?”XYL 提出一个想法。
默默说:“我刚刚查了,那个教练姓梁,vvv 也姓梁。有没有一种可能他们认识甚至是亲戚?”
“不会吧……我也查到了,他们名字除了姓一样就没有相同的字。是亲戚的可能性很小诶。应该是互相认识,反正都一个区。”XYL 说。
默默也同意:“那应该就普通认识,顶多是对好朋友。”
丁泽林说:“你说有没有可能班主任想给我们的真相里会提到?”
“有可能。”XYL 说。
55 校园统考
学校组织了一次 OI 考试。只要学习过 OI 都可以参加。
初中部报名的人很多,还有一些是小学部的。人整整坐满了 2 个机房。题目 6 道题,IOI 赛制,限交 3 次。一共是两个半小时,刚好一个晚修。
默默先开了第一题。
A:小猫的数学作业。
小猫的数学作业是一个简单的问题。数学老师给出 \(4\) 个非负整数,要求把所有回文数一个一行输出并最后一行输出所有回文数的和。小猫很懒,所以希望你帮它做一下。
默默瞄了一眼数据范围,每个整数不超过一万。于是 2 分钟切了这题。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(3\) | \(100\) | \(00:02:07\) | \(100\) | \(0\) | \(0\) | \(0\) | \(0\) | \(0\) |
默默打开第二题。XYL 在默默打开第二题网页的时候也切了第一题。丁泽林第一题 \(80\) 分,他没有特判 \(0\)。
B:小猫抓鱼
小猫 X 在一排 \(n+1\) 个鱼池里抓鱼。除 \(n+1\) 号鱼池外,每一个鱼池里都有一条鱼。\(i\) 号鱼池里的鱼的价值为 \(a_i(a_i \ge 0)\)。X 抓鱼技术高超,每到达一个鱼池都一定能抓到鱼。在 \(i\) 号鱼池抓完鱼后 X 可以选择前往 \(i+1\) 号鱼池或者 \(i+2\) 号鱼池。只要 X 到达一个鱼池,X 一定会抓该鱼池里的鱼。求 X 在到达 \(n+1\) 号鱼池时的最大价值。
但是为了保护生态环境,不能所有鱼都被 X 抓到,至少要留一条鱼。X 初始在 \(1\) 号鱼池。
“简单题。”默默心想,“就是找数列最小值,不让 X 抓,让 X 跳过。然后用总和减掉它就是答案。”
默默快速写完一份代码,过了两个样例,自信提交。
\(70\) 分。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(6\) | \(170\) | \(00:02:07\) | \(100\) | \(70\) | \(0\) | \(0\) | \(0\) | \(0\) |
有几个学长已经切完了 B 题在看 C。丁泽林 A 题还是 \(80\) 分。他没调出来就写了 B 题,提交后拿到了 \(80\) 分。排名第 \(8\)。
默默看了一下数据范围,原来是没开 long long。提交后获得了 \(90\) 分。排名升上第 \(5\)。
默默决定先看看 C 题。
C:猫的数对(Easy Version)
给定一个长度为 \(n\) 的数组 \(a\)。有 \(q\) 次询问,每次询问给出 \(l\) 和 \(r\),求 \(a_l,a_{l+1},...,a_{r}\) 中的逆序对数。
“\(O(qn \log n)\) 不能过。”默默想,“这是区间,归并排序和树状数组应该不行。那就先暴力。”
默默调完了 \(O(qn \log n)\) 的暴力代码,他自信提交。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(8\) | \(219\) | \(00:02:07\) | \(100\) | \(90\) | \(29\) | \(0\) | \(0\) | \(0\) |
前 \(7\) 是同年级的两个同学和五个大默默一届的学长。第一名是八年级的学长,已经拿到了 \(300\) 分。比赛仅仅过去了 \(20\) 分钟。
XYL 思考了十几分钟,但是代码只打了两三分钟就过掉了 B 题,排名第 \(10\)。
“这个循环变量和题目变量混淆了。”默默惊奇地发现。他飞速改了几下,C 题的分数来到 \(85\) 分。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(7\) | \(275\) | \(00:02:07\) | \(100\) | \(90\) | \(85\) | \(0\) | \(0\) | \(0\) |
“优化一会想。比赛已经过了 \(40\) 分钟了。”默默开了 D。
56 遇到困难
D:猫和一百米跑
现在有 \(n\) 个同学在报名校运会的一百米跑。用 \(q\) 次关于报名的操作。
操作 \(1\):输入 \(a\) 和 \(b\),表示 \(a\) 和 \(b\) 想在一组。
操作 \(2\):输入 \(a\) 和 \(b\),表示 \(a\) 和 \(b\) 反悔了,不想在同一组。保证之前 \(a\) 和 \(b\) 想在一组。
操作 \(3\):输入 \(a\) 和 \(b\)。如果 \(a\) 和 \(b\) 不想在同一组输出 \(0\),想在同一组输出 \(1\)。
注意:如果甲想和乙在同一组,而乙也想和丙在同一组,那么甲和丙就想在同一组。
“应该是很经典的并查集。”默默想,“但是支持撤销。那怎么做?不会是可撤销并查集吧?(默默并不知道可撤销并查集的领域)D 这么难吗?”
默默想了半个小时,还是没想到什么。他注意到 \(20\) 分的数据没有撤销,就写了个并查集交了。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(17\) | \(295\) | \(00:02:07\) | \(100\) | \(90\) | \(85\) | \(20\) | \(0\) | \(0\) |
XYL 此时过掉了三道题,来到了第 \(12\) 名。丁泽林 A 题调出来了,B 题还是 \(80\)。但是他的 C 题高默默 \(5\) 分,D 题他只有 \(6\) 分。排在了第 \(25\) 名。一个小学部的同学居然连过四题,以 \(3\) 分只差落后于榜首的学长,博得了 vvv 的点头赞赏。
E:猫和字符串
小猫给了你一个文本串 \(S\) 和 \(n\) 个模式串 \(T_{1 \sim n}\),请你分别求出每个模式串 \(T_i\) 在 \(S\) 中出现的次数。
“AC 自动机模版?可是我有点忘了 AC 自动机怎么写。”
“这个 F 好熟悉啊!是……”
“模拟赛还没结束,还能蒸!”默默在草稿纸上写下了这一句话。
F:猫猫的逆序毛线团
在一个阳光明媚的午后,小橘猫 正在玩耍它的毛线球。毛线球由 \(n\) 段不同颜色的毛线组成,每段毛线有一个 可爱值 \(a_i\)。
小橘猫发现一个有趣的现象:对于任意两段毛线 \(i < j\),如果 \(a_i > a_j\)(前面的毛线比后面的毛线可爱值更高),那么这两段毛线就会 缠在一起,形成一个"毛线结"。每个毛线结的 混乱度 定义为较前面那段毛线的可爱值 \(a_i\)。
现在有 \(m\) 个小橘猫的朋友来询问,每次给出一个区间 \([l, r]\),小橘猫想知道这段毛线区间内所有毛线结的混乱度之和是多少。
“这是道难题。”默默心想。
默默 E 题花了半小时打出了时间复杂度为 \(O(|S| \times \sum\limits_{i=1}^n{|T_i|})\) 的暴力,\(3\) 分。XYL 的实现粗略,没加拓扑排序优化。但是数据没那么强,他拿到了 \(74\) 分,总分 \(374\),排名 \(14\)。丁泽林 E 题疯狂剪枝卡常拿到 \(23\) 分,总分 \(299\),第 \(19\)。
默默看了一眼排行榜。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(21\) | \(298\) | \(00:02:07\) | \(100\) | \(90\) | \(85\) | \(20\) | \(3\) | \(0\) |
此刻考试时间来到第 93 分钟,还剩下差不多一小时。
那一匹小学部黑马现在 F 题拿到了 \(61\) 分的暴力分,总分 \(461\)。已 \(16\) 分分差甩开八年级最强的学长,登顶。
57 尾段努力
vvv 公布了金银铜牌的获得方式。金牌前 \(8 \%\) 且不低于 \(488\) 分,银牌前 \(16 \%\) 且不低于 \(423\) 分,铜牌前 \(25 \%\) 且要高于 \(351\) 分。XYL 已经越过铜牌线。只要在 \(80\) 多个人中保持前 \(20\) 或者掉出一点点就有铜牌了。金银铜牌数量影响到学期末成绩总评。
F 题想了 \(20\) 分钟,默默没想到莫队和树状数组怎么结合。决定随便打一打,\(6\) 分。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(24\) | \(304\) | \(00:02:07\) | \(100\) | \(90\) | \(85\) | \(20\) | \(3\) | \(6\) |
丁泽林放弃了 E 题,他把 B 调对了,总分 \(319\),排名第 \(18\)。
还剩下 \(40\) 分钟。八年级的那个学长切出了 E 题,只是有一个点跑了 988ms。总分 \(527\)。
默默改了几个 F 的逻辑错误,分数上升到 \(14\) 分。\(312\) 第 \(27\) 名对他来说还是不够,至少 vvv 和 RFK 会比较失望。
默默看了一下 C。他在想区间逆序对到底该怎么做。
“等一下,区间查询没有修改,莫队?”默默灵光一闪。他花了 \(10\) 分钟时间打了一版莫队代码。但是由于赛制,他还不能交。
B 题他还是不知道哪里错,想了 \(5\) 分钟也没想到。D 题他想过传递闭包。
“用 bitset 优化!时间复杂度是……\(O(n^2q)\)?”他小声说。他在倒数第 \(20\) 分钟提交了第二次 D,分数跳到 \(59\)。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(22\) | \(351\) | \(00:02:07\) | \(100\) | \(90\) | \(85\) | \(59\) | \(3\) | \(14\) |
丁泽林现在也爆发了。他的 D 题拿到了 \(42\) 分,总分 \(100+100+90+42+23+0=355\),排名第 \(20\)。
比赛最后 \(15\) 分钟。vvv 宣布:“比赛共 \(150\) 分钟。从现在开始,第 \(135\)、\(140\)、\(143\)、\(146\)、\(150\) 分钟金银铜分数线将会视情况略微上升或下降。当前全部分数线上升 \(6\) 分。金牌 \(494\)、银牌 \(429\)、铜牌 \(357\)。”
有一些 \(428\) 分但是却找不到优化地方的学生开始哀嚎。默默本来压线,但是现在分数线上升使他跌出铜牌区。
58 决不放弃
默默看了一眼 E 题。现在他打算再想一下。手打 AC 自动机不太现实,时间不够。于是他用上了他在 bunnyCloudy 学的一种类似于哈希的优化,能将常数减半而且还有一些优秀的剪枝。
用了 \(5\) 分钟,默默把他的 E 代码交了上去。\(36\) 分,顺便把 C 也交了上去,\(92\) 分,C 题不能再交了。
| 排名 | 总分 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|
| \(16\) | \(391\) | \(00:02:07\) | \(100\) | \(90\) | \(92\) | \(59\) | \(36\) | \(14\) |
“铜牌回来了。”默默心想。
vvv 把铜牌分数线调到了 \(374\),银牌 \(440\),金牌则还是 \(494\)。那个小学部黑马已经把他的分数从 \(461\) 提到了 \(533\),以 \(1\) 分之差落后于那个学长。XYL 打 F 题优化计算的暴力成功,获得了 \(55\) 分的分数。总分 \(429\),排名第 \(11\)。银牌有希望。丁泽林在 F 上获得了数学分数 \(17\) 分,总分 \(372\)。有望铜牌。
第 \(143\) 分钟,vvv 把银牌分数降到了 \(432\),金牌降到了 \(489\),铜牌 \(377\)。默默提交了一发 F 的各种算法混合的代码,加了 \(43\) 分。总分 \(434\),第 \(9\) 名。冲到了银牌区。
第 \(145\) 分钟,vvv 重测了 A 题。默默少了 \(13\) 分。罚时清零,但是跌出银牌线。一分钟后,vvv 又把银牌线降低了 \(7\) 分。默默还是不能夺银。vvv 把银牌线从前 \(16 \%\) 改成 \(21 \%\)。铜牌则变成前 \(31 \%\),铜牌线减到 \(375\)。
默默分数 \(421\),排名第 \(10\)。银牌线 \(425\)。丁泽林又多了 \(8\) 分,\(380\) 过了铜牌线,第 \(20\) 名。XYL 直接冲到了 \(444\),全场第 \(7\)。
最后一分钟,默默用了第二次提交 A 题的机会,\(80\) 分。还有 \(30\) 秒,默默急得团团转。最后 \(10\) 秒,默默发现并修改了一个小错误,提交。
比赛结束。但是还有几份代码没评测完。分数线还在等评测完。
默默的代码是最后一份。大家看着评测机一个个测试点评测。最终得分 \(90\)。差一分银牌。
最后 XYL 银牌,默默铜牌。丁泽林虽然过了又多了 \(1\) 分的铜牌线,但是因为没有到前 \(31 \%\),获得了一个“半铜”。
规则是这样的,如果过了分数线但是排名没达到,或者排名达到了但是分数没达到,那就是一半的金或银或铜。
第一次统考考完了,后面会怎么样呢?
欲知后事如何,且听下回分解。
第 5 部(59 章~68 章)
59 再次统考
第二场安排在第一场之后一天。
默默没来得及做大复盘,第二场就来了。
机房里做了更多的人。比上一次多了十几个。刚好 100 位选手。
考试时长 150 分钟。题目和第一次差不多。
RFK 公布注意事项:
- 不考虑实时变动的分数线,前 10 名选手金牌;前 21 名非金牌选手银牌;前 33 名选手铜牌。
- 每题限交 5 次。最后一次必须在考试结束前 10 分钟内提交。
- 上次、本次、期末考试和区里的学校联赛校内预选名额挂钩,三次考试总分在前 \(70 \%\) 外的无缘校内选拔赛。有缺考者会安排补考。
- 为了考验选手代码编写严谨性,考试结束后第 34 名选手可以对排名更前的选手的代码进行查看,然后给出一组 hack 进行挑战。若 hack 成功则被 hack 选手的奖牌降一级。(如纯银->半银)如果第 34 名选手获得半铜,则顺延,直到排名最前且没有奖牌的选手。
vvv 说:“现在,考试开始!”
一阵鼠标点击的声音和震耳欲聋的键盘声响起。
60 马上入局
A:小猫的分段
一个数列长度为 \(n\)。猫咪小 A 要对这个数列做如下操作:
- 把这个数列分成若干段,每一段都应有数字。
- 把每一段里的数进行按位与运算,将结果记为 \(x\)。
- 求出所有段里最大的 \(x\)。
特殊的,如果某一段里只有一个数,那么这个数就是这一段的 \(x\)。
小 A 想要知道,所有段里最大的 \(x\) 是什么?小 B 想要领先小 A 一步,所以来求助于聪明的你。由于小 A 很快,所以你只有 \(1.2\) 秒的时间回答这个问题。
“\(n \le 10^7\)。”默默小声说,“起码要开 ios。”
他在想到底怎么做。最朴素的暴力应该是每次二进制枚举每个空要不要分开两段数字。搜索实现的时间复杂度差不多是 \(O(n2^n)\)。
“怎么搞?难道说,有别的突破口?”默默心想。他看向排行榜,已经有 \(6\) 个人过了这道题。比赛仅仅过去了 \(5\) 分钟。
“按位与?拆位?”默默有想法。但是他想到拆位是 \(\log n\),马上打退了该思路。
“\(a\) 按位与 \(b\),结果一定不会大于 \(a\),这是按位与的性质。”他想,“所以最大就是,不操作?”
他交了一份求最大值的代码,跑了几十秒,过了。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{brown} 23\) | 默默 | \(100\) | \(00:07:11\) | \(100\) | \(-\) | \(-\) | \(-\) | \(-\) | \(-\) |
“第 \(23\) 名?这么后。”默默没想到。
B: 小猫神秘图
猫咪小 A 和猫咪小 B 对一张突然出现的,有 \(n\) 个点,\(m\) 条边的无向图很感兴趣。小 A 想知道,这张无向图是一条链吗?聪明的你要回答这个问题。注意,这张图上可能有多余的节点。保证这张图没有自环。所有重边只看一条,其余的忽视。
特殊的,这里定义只有 1 个点的图算一条链。如果这个图没有边且不止 1 个节点,不算链。
“这又是什么东西?”默默看了题目后随便打了个 DFS 加特判。
评测机跑了一下,\(28\) 分。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{black} 37\) | 默默 | \(128\) | \(00:07:11\) | \(100\) | \(28\) | \(-\) | \(-\) | \(-\) | \(-\) |
排行榜上一大车 \(200\) 分的。前面几个包括上次的那个小学部黑马甚至已经开第三题至少六七分钟了。
“先放放,一会再看看。”默默准备打开 C 题链接。
C:追忆中的小猫
猫咪小 A 追忆起了前几天在宿舍里的事情。
那天雾气很重,窗户上出现了 \(n\) 个字符串。因为过于朦胧,小 A 每次看到了一个字符串 \(t\),小 A 看了 \(q\) 次。因为小 A 那天因在机房玩《拳皇》游戏而被班主任抓了,所以他可能没有认真看 \(t\),导致 \(t\) 不一定是某个字符串的子串。
给出小 A 的 \(q\) 组询问,每次一个字符串 \(t\),问你 \(t\) 是多少个字符串的前缀。大小写敏感。如果答案为 \(0\),输出
recall。
“终于来了一道比较简单的 C 题。”默默一眼看穿是字典树板子,\(10\) 分钟写代码加调试后提交。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{black} 48\) | 默默 | \(228\) | \(00:46:09\) | \(100\) | \(28\) | \(100\) | \(-\) | \(-\) | \(-\) |
比赛过去了 \(40\) 分钟。
“怎么都像开了挂一样?”默默对自己的排名感到疑惑。XYL 此时已经 \(306.8\) 分了,排在第 \(20\)。丁泽林稍后,\(301.6\) 分,排在第 \(27\)。
61 慢慢做题
D:小猫的最短路
题目来源:洛谷
这是一道交互题。因为评测原因,可能返回小数分数。
有一张 \(n\) 个点 \(m\) 条边的无向连通图(边权均为 1),不幸的是,你忘记了 \(1\) 到 \(n\) 之间的最短路。
小猫有 \(n\) 次求两个点之间的最短路长度的机会。
由于小猫实在想不起 \(1\) 到 \(n\) 的最短路长度了,你需要在不直接求 \(1\) 到 \(n\) 之间的最短路的情况下,求出 \(1\) 到 \(n\) 的最短路。
因为小猫的班主任教育小猫要善良,所以在本题中,你的输出与标准答案的差的绝对值不超过 \(1\) 即视为通过。
默默看完题目,脑子里只有一句:“这是什么反套路的题?”
默默最喜欢最短路,但是他并不知道怎么做。
XYL 设计出了一套求 \(2n\) 次最短路的算法,程序给了他 \(46.8\) 分。他前面的 B 有个细节没做好。丁泽林的算法有漏洞,\(1.6\) 分。前三题他都切出来了。
默默毫无头绪,就先放着 D 了。他的排名已经掉到了 \(51\) 名。
E:迷路的小猫
一张有向图有 \(n\) 个节点,节点从 \(1\) 至 \(n\) 编号,小猫 G 从节点 \(1\) 出发,他必须恰好在 \(t\) 时刻到达节点 \(n\)。
现在给出该有向图,你能告诉 G 总共有多少种不同的路径吗?
答案对 \(2009\) 取模。
注意:G 不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。
默默没看出来矩阵快速幂。只是在 \(t\le10^9\) 的时候才想起来。但是他不会做。依旧拼上暴力。
比赛过去 \(95\) 分钟,他的 E 终于有了 \(30\) 分。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{black} 34\) | 默默 | \(258\) | \(00:46:09\) | \(100\) | \(28\) | \(100\) | \(-\) | \(30\) | \(-\) |
XYL 的情况比较好,他终于过了 B 题。总分 \(100+100+100+46.8+0+0=346.8\),第 \(26\) 名。丁泽林优化了 D 题,总分来到 \(333.5\),第 \(31\) 名。
vvv 此时正在屏幕上看一个初二学长的矩阵快速幂代码。那个学长已经 \(500\) 分了。上次那个小学部黑马没能超过他,但也有 \(471.7\) 分。
62 继续坚持
vvv 公布分数线:金牌 \(467\) 分,银牌 \(411\) 分,铜牌 \(366\) 分。
与此同时,丁泽林交了一份 E 代码,\(69\) 分。总分 \(402.5\),冲过铜牌线,在半银的位置。
XYL 还在做 D。他在图上画了好多遍最短路求导方法,已经开始改代码了。
默默点开 F。
F:小猫的合并
小猫想通过合并相邻元素(合并后值为二者之和),使原数组变为单调不减序列,求最少的合并次数。
“像贪心。”默默想。
“可能是个动态规划加上贪心。也许要用上前缀和。”默默在草稿纸上写。RFK 看到这张草稿纸的时候,脸色变了一下。
默默还在推式子,机房里的人突然倒吸一口气,默默打开排行榜,那个八年级学长已经 AK 了。小学部的两个同学也差不多同时过了一题——一个过了 D,一个过了 E。排行榜前三已经没有七年级的学生了。
bunnyCloudy 的做题风格是:一直坐在电脑前玩他的修仙游戏,接着突然刷的一下切掉一题。
XYL 看着 bunnyCloudy,看着他一边打怪,所有技能都被冷却的时候突然点击提交——E 过了,金牌。
XYL 看着自己的 E 题暴力,\(36\) 分,总分 \(382.8\),铜牌。bunnyCloudy 已经金牌了。
“好强!”默默也看见了。
63 比赛渐完
比赛第 \(127\) 分钟,默默终于推出了 DP 的状态转移方程。但是实现比较粗劣,\(O(n^3)\)。交上去一共有 \(40.9\) 分。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{black} 39\) | 默默 | \(298.9\) | \(00:46:09\) | \(100\) | \(28\) | \(100\) | \(-\) | \(30\) | \(40.9\) |
vvv 更新分数线:金牌 \(458\) 分,银牌 \(410\) 分,铜牌 \(356\) 分。
铜牌线降了 \(10\) 分。
全场多了一些激动的声音。第 \(131\) 分钟,那个小学部黑马也 AK 了,第二。
RFK 说:“鉴于这场比赛的最后一题比较难,AK 的选手会获得金牌+奖金 \(30\) 元。AC 最后一题且获得半银及以下的选手可以将奖牌升级为银牌。”
全场又出现了一些惊讶的声音:“F 这么难吗?”“怪不得看了 F 半天没啥进展。”
默默动了几下。他去看了一下 D。“D 其实可以暴力查询吧?”默默边看题边想。
他打了一个 Floyd,还有一个随机数,用来建图。提交,\(36.8\) 分。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{brown} 30\) | 默默 | \(335.7\) | \(00:46:09\) | \(100\) | \(28\) | \(100\) | \(36.8\) | \(30\) | \(40.9\) |
XYL 的 D 过了,已经在写 E 的代码。\(401\) 分,第 \(18\) 名,半银。
丁泽林的进度更快,\(100+100+100+100+55+1=456\),第 \(13\),暂时差两分金牌。
一个九年级学长更强,倒开。\(0+0+100+100+100+100=400\),第 \(19\) 名。
第 \(135\) 分钟,金牌线上升到了 \(477\) 分,铜牌到了 \(368\),银牌 \(426\)。
默默突然发现,B 题有一个统计度数的地方写错了。那就是困扰他很久的地方。
默默马上改掉,提交。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{brown} 29\) | 默默 | \(395.7\) | \(00:46:09\) | \(100\) | \(88\) | \(100\) | \(36.8\) | \(30\) | \(40.9\) |
“正铜牌。”他想。
XYL 写完了 E 的矩阵快速幂,提交,AC。\(501\) 分,第 \(10\),金。
RFK 没想到大家的分数上涨这么快。分数线也跟着飞速上涨:金牌 \(517\),银牌 \(446\),铜牌 \(393\)。
“F 成了拉分题。”XYL 一边玩 CS 一边说,“手枪打爆世界!”
64 公布结局
第 \(144\) 分钟,默默发现自己的排名从 \(29\) 掉到了 \(34\)。他尝试继续优化 D 进行反击。
他发现,其实可以减少 D 题的计算次数。接着他又口胡了一点东西。D 题 \(84.1\) 分。
| 排名 | 姓名 | 分数 | 罚时 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|
| \(\color{silver} 26\) | 默默 | \(446\) | \(00:46:09\) | \(100\) | \(88\) | \(100\) | \(87.1\) | \(30\) | \(40.9\) |
“比赛结束。”vvv 点击了“结束比赛”按钮。默默的分数定格在了半银。XYL \(516.2\) 分,差一点正金牌,收获半金。丁泽林正银牌。
接下来是 hack 环节。第 \(34\) 名是一个初二的学生。RFK 说,只能够 hack AC 的代码,他点了点头。
他打开了默默的代码,C 题的字典树什么情况都考虑到了。他又转向一个半银小学部同学的代码,看了五分钟,对 vvv 说:“我 hack 他。他没有考虑到 \(n\) 的边界情况。”说着就给出了一份数据。那个小学部同学紧张得不得了。
vvv 看了一下那个数据,跑了一下。“你的数据没问题,但是对方的代码输出了正确的结果。hack 失败。”
65 老师讲题
RFK 和 vvv 一起走上阶梯室讲台,给同学们讲解这两次比赛的题目。
阶梯室里有一百个人。有的打开了笔记本,有的在讨论树状数组,还有的在思考平行四边形不等式。
XYL 则在撸猫,还说:“撸猫不能乱撸。摸动物的毛要顺着摸。”
丁泽林则在看一本关于人和猫的校园小说。他说,那只猫和 XYL 的性格很像。
RFK 打开了大屏幕,同学们一下就安静了。
屏幕上弹出了第一场的 A 题。RFK 说:“判断回文,可以用字符串,还可以拆位。这题难度低,就不讲那么多了。”
vvv 说:“第二题的首 A 是 XYL 同学。而且他用了和其他同学不一样的思路。我们这题就讲两种方法。”
XYL 的脸突然红了。
vvv 接着说:“普通的方法是找到数列最小值,然后减掉最小值。注意一下最小值在第 \(1\) 位的情况,那个是减不了的。XYL 则用了枚举,枚举每一个可能被丢掉的鱼池。我个人认为第一种方法更好。”
讲到第二轮的题了,RFK 在讲完 C 题字典树模版的时候,vvv 突然发布一个通知:区学校联赛将在 GY 中学举行。届时我校会带领同学们坐地铁前往。
默默的耳朵动了一下。丁泽林的笔尖停了几秒。XYL 打开笔盒的速度慢了一拍。GY 中学?那个 OI 队炸开锅的学校?
题目讲解结束了。三人对视了一下,但都没说什么,而是默契地去食堂吃饭。
晚上,默默对数学老师说去上厕所,实际上去了一趟机房。机房的门没锁,里面没有人。默默打开电脑,发现邮箱里 vvv 给自己发了一些信息。
默默:
$\ \ \ \ \ \ $ 有些话我在线下不好说,我就在这里说吧。我不知道你有没有留意一些生活中的细节。就拿那条电线说吧,UUU 的一个含义是指 RFK,当然还有另一个含义。因为他以前成绩很优秀。但是 UUU 的东西是怎么到你的班主任的手上的呢?还有,上次,你的班主任和 RFK 在谈什么……种种你不知道的事情,22 号揭晓一部分。
默默看了一眼,今天 19 号。
66 花城大道
默默、丁泽林、XYL、YSZ 周末相约到广州玩。
四人乘坐 APM 线到花城大道下车。丁泽林说:“这里了能看到广州塔。”
临近中午,大家找了一个麦当劳吃饭。四人坐下。XYL 开始分析已有信息:“后天就是 22 号了。你们觉得他们会给我们说什么?”
默默:vvv 说 UUU 的一个意思是 RFK。呃,还有另一个意思。
YSZ:你们知道吗,有一天我去图书馆看书,看到有一本书上写着:2015 年,GY 中学成立了一个组织。全称:“联合雨伞联盟”。英语是:“United Umbrella Union”。应该是 UUU 的另一个意思。
丁泽林:“联合雨伞联盟”是啥名字。
YSZ:书上说因为联盟成立前两周每天都下雨,所有人都没有带伞,然后就叫 Umbrella。
默默:这个名字真随便。
丁泽林:话说 RFK 和 GY 中学有什么关系?
XYL:我记得 RFK 说他很久以前其实是 GY 中学的老师。然后转回来了。vvv 那会还是我们学校的副校长!
默默:等等,vvv 以前是我们学校副校长?
XYL:对啊,但是他以前在另一间学校。一来到我们学校就当副校长了。据说他还花了一大段时间去处理他原来的事情。
默默:怪不得他以前有一段时间失踪了……懂了。
YSZ:你们知道吗,SM 的主教练之前有一次一个月没上班!回来之后人就不对,现在被停职了。
丁泽林:有这种事?
YSZ 点了点头。默默把四个人的吃的端到了桌上:“先吃饭。”
67 海心沙岛
“据说海心沙是 2010 年广州亚运会开闭幕式的主会场。”XYL 从 APM 线的列车上走下,脚踩在海心沙站的站台上。
“这里看着不错。”丁泽林说。
“话说为什么刚刚车上有一本没人的书?这书旁边都没人,我想把它给站上的工作人员。”默默手里拿着一本叫《XX 区信息学竞赛实录》的书。
“你看看这个有没有名字?”丁泽林拿过书,翻开第一页,“确实没有名字。”
YSZ 把书从丁泽林手里拿了过去。快速翻了翻,在第 12 页停住了。“看,To XX 中学的默默。默默这书是给你的。作者……”
“RFK。”XYL 接上。
全员安静。出了站,大家都看到了广州塔。
“这里也能看见广州塔。”XYL 一边撸默默一边说。
“找个地方再玩会?”
不知不觉,晚上到了。他们吃完了饭,在珠江边散步。珠江的夜景他们看过了很多遍,但是总是看不厌。
“你说,vvv 他们后天会说 GY 中学的事吗?”默默的尾巴慢慢竖起来。
“可能吧。”XYL 看着广州塔的闪耀彩灯。
“GY 中学和 SM 主教练的停职会有关系吗?”默默又问。
“我的直觉告诉我有。”YSZ 眺望繁华的珠江新城。
他们走到了 APM 线的地铁口。无人驾驶列车缓缓进站。
“默默,你的书会不会和《猫咪的秘密》差不多。”丁泽林边看隧道边问。
XYL 还在撸默默。默默偶尔抵抗一下,但大多数时候都是在看着一个个站名和红绿点。
“下车吧,广州塔站到了。”YSZ 起身离开座位。
68 报告厅(1)
下午最后一节课的下课铃响,五点四十分。
大批同学们朝食堂跑去。默默不慌不忙地回了宿舍。
6:10 分,默默和丁泽林在 6 号楼 2 楼碰头。与此同时,XYL 从食堂四楼沿楼梯跑下,前往与 4 号楼相连的连廊。YSZ 特意请了个假,打出租车到学校。这时他已经下了车,跑向 5 号楼的电梯。
6:12 分,4 号楼 6 楼报告厅,四个人齐了。
“报告厅的灯是亮的,进去吧。”YSZ 轻轻地走向门。“吱呀”一声,门开了。
“来了啊,坐吧。”vvv 指着前排的椅子。RFK 居然也在,此时在翻看手机里的一些资料。
四个人一起进去了。XYL 走在前面,对上了班主任的目光。“YSZ 也来了?那就一起吧。”
YSZ 点了点头。
vvv 拿起一旁的话筒:“今天要说的还挺多的。第 1 部分‘默默的发现’我来吧。”
“十一年前,我还不在我们学校。但是 RFK 当时和我还是好朋友。他跟我说,他们学校,也就是现在的 GY 中学,成立了一个叫‘联合雨伞联盟’的组织。这个组织本身也是想要让老师直接互相学习,提高教学效率。那会我还跟 RFK 开玩笑,说你们这样子是不是连猫都可以打 CSP 然后 S 一等。
“后来呢,我就发现了默默。那只黑猫当时在我以前的学校的池塘里抓鱼吃。被扫地阿姨赶走了好多次了还要钻进来。我发现它和别的猫不一样,它好像对荧光屏很感兴趣。我尝试一边办公一边蹲点,它果然就盯着我的电脑看。还跳上桌子想要打字。
“所以我就把它抱进了机房,就有了后来的事。没想到,它还学得不错。还培养出了‘比赛时变人形’的能力。就是嘛,某些时候有些淘气……”
六个人同时看了默默一眼,默默没绷住,笑了。
“2025 年 CSP-S,默默考得不好不坏,40 分,二等奖。那也不详细说了。当然,我上课有时候用的也是 UUU 的课件,不知道默默你留意到了没有。”
默默回忆了一下,好像真的有。
“后来就精彩了。我们在机房里装了一个摄像头,专门来看看有没有同学摸鱼。必要的时候,你们的班主任会在班会课的时候展示你们的精彩片段。可是这阴差阳错,被默默发现了,线松了,拍不到了。线上的三个字母 UUU,就意味着这是 UUU 的设备。”
默默明白了为什么班主任说过:“什么东西坏了,准备去检查一下。”
vvv 继续讲:“那第 2 部分‘UUU’我也顺带讲了。是 UUU 的设备,其实就是 RFK 的。因为联盟之前解散了,RFK 作为队长,大部分东西都归了我们学校。所以 UUU 也有 RFK 的意思。
“以前联盟风风火火的时候,大概是 2017 年。那年区赛,GY 的梁教练出的题质量很高。有一部分也是 UUU 的功劳。”
丁泽林举手:“老师,那那个梁教练在 UUU 里面吗?”
vvv 点头:“他当时是进步最大的教练,没有之一。”RFK 补充了一句:“我们当时也没想到他的进步这么大。每个组员包括 vvv 也有功劳。”
vvv 调了一下话筒,接着说:“2019 年,我们发现了 SM 的主教练开始干一些破坏竞赛公平的事情。这里也不方便说,知道不公平就对了。”
YSZ 若有所思地点了点头。班主任对着 XYL 说了一句:“记得那个书签吗?上面有六个字母:unfair。就是在提醒你们这个。注意到了吗?”
XYL 尴尬地笑了笑:“这个没有。”
vvv 喝了点水,开始展开 UUU 当时的情况:“那个时候,梁教练是 UUU 里第一个知道的。他通知了整个联盟。但是整个联盟大部分人都不信,只有少数人跟梁教练了解情况,我和 RFK 是其中两个。那第 3 部分‘不公平的竞争’RFK 来说吧。”说完,他坐下了,把话筒给了 RFK。
RFK 开讲:“我私信了梁教练。他说他掌握了一些证据,但是无法上交,被扣住了。我尝试去帮他,但最后也已失败告终。后来,我电脑被人入侵了。证据变成了乱码,改不回来。梁教练电脑里唯一的备份也被人删了。幸运的是,当时一个姓丁的同学在此之前玩我的电脑,把证据在没被篡改之前,拷到了自己的 U 盘里,还插到了班主任的电脑上。证据这下终于交上去了。SM 主教练因此被停职调查。经过调查,证据属实。SM 主教练就被辞掉了。”
丁泽林动了一下,那个姓丁的同学就是他。只是他一直没有说。
那后面默默一行还会知道什么呢?欲知后事如何,且听下回分解。
第 6 部(69 章~以后)
69 报告厅(2)
RFK 继续说了:“但是他被辞退后,不公平的竞争还在继续。有很多人抛弃了公平的信念,继续作弊。2020 年的区联赛题目泄露一事,其实几乎整个区的老师都知道。老师们为了不要影响学生,就说好先不要公布真相。
“六年过去,很多老师意识到如果再不公布,区的信息学就很难再公平下去了。越来越多的人给钱、使用各种入侵手段……因此,半年前,我们每个学校的信息学老师觉得公布真相才合适。于是,今天,我们就打算跟你们公开。因为你们也是当事人,你们有权知道。
“SM 主教练撤职那年,区赛的出题刚好轮到了 SM 中学。他用某种小众的方式,收钱并向给钱了的人提前提供了题目。
“梁教练有一回去找 SM 主教练。看到他的电脑屏幕上就是题目泄露和收钱的页面。然后拍照和拍视频记录了。这就是当时上交的证据。加上 SM 的监控画面没被他篡改完,他就被查出来了。因为很多人认为证据是假的,不服,就背叛了联盟。UUU 随即解散。”
YSZ 想了一会,果然和自己在 SM 了解到的一样。
“第 4 部分‘两本书’就交给 vvv 老师吧。这两本书都是他一手策划的。”RFK 说。
vvv 接过话筒,开始讲话:“有时候,真相有时候线下讲不太合适。我就想到弄两本书,告诉你们。《XX 中学的秘密》确实是我写的,写的是我对这些年的事的记录和图片。第一页的猫爪印,其实是我家里养的另一只猫印的。猫对同类比较敏感,我想以此提醒默默。第二页的机房照,其实是我们拍下照片然后规划电线走向用的。电线装了,图片就没啥用了。但我仍然把图片放了上去。聪明的人会看到,图中有一条曲线略微糊了,就是我们规划的线路。
“第三页是办公室。我想着重的是电脑的 U 盘……就是上交证据的 U 盘。上交证据的时候的照片已经被删了。我就用这一张代替。”
丁泽林没忍住惊呼:“啊?我们还以为着重强调双胞胎……”
“那个一会讲。”RFK 说。
“至于那本《XX 区信息学竞赛实录》,那个是以 RFK 的视角写的。写了一下 UUU 的其他不怎么为人知的秘密,还有关于不公平的竞争的一些推导、我们学校信息学的许多事件。
“我是故意把他放在 APM 线的列车上的。我托一个你们不认识的朋友把它给你们,但是我委托他装得好一点,不让你们猜到是他放的。那个人你们应该听过,就是 GY 的梁教练。”
默默:啊?
XYL:还有这种事?
丁泽林:他离我们这么近?
YSZ:他不会故意跟着我们去广州吧?
RFK:是的,他说他也想去看广州塔。
YSZ:……
70 报告厅(3)
“去广州玩得怎么样?”班主任突然问。
“挺好。珠江挺漂亮。广州塔五彩斑斓……”XYL 很快就要写作文了。
“YSZ、丁泽林,你们可以先走了。第 5 部分是‘默默的秘密’,只要默默在。XYL 你和班主任去隔壁空教室先坐着。”vvv 说。
vvv 等 YSZ、丁泽林走了之后,说话了:“其实吧,我前面说的有一些不够详细,有些含糊。这一部分就是补充。
“默默看着本身是猫,但是他学会了许多算法。这算是奇迹。但是有一个可能连默默他本人都不知道的是,默默有一段时间的记忆丢失了。这是在我们发现他之后才知道的。
“默默,你是不是忘了你小时候的事?”
默默想了想,好像是真的。他的记忆最早只记得自己在池塘被 vvv 抱走。
vvv 停了几秒,继续说:“我现在养着的猫,就是在书上盖印的那只。我现在为什么要提这只猫?因为我试过让它学 OI,但是它几乎啥也没学会。这很正常,它就是一只普通的猫。”
vvv 看了默默一眼。
“但是默默你不是一只普通的猫。普通的猫是怎么也不可能做到人变猫、猫变人的。
“快 7 点了,我就说到这里吧。默默你可以走了,回班做作业吧。”
“默默,记住。”vvv 在默默准备开门的时候说了一句,“你其实不是流浪猫。”
默默听完,走了出去。XYL 早就在门外等他了,一脸苦笑。
“有什么吗?”默默先打开话题,“你和我们班主任在里面,她跟你说啥了?”
“她说,我和你其实认识很久了。”
71 赶出学校
那天晚上,默默回到了宿舍。一下子听了这么多,他有点乱。XYL 也差不多。他过了这么久才发现自己想不起他六岁以前的东西了。
默默没有参与那天晚上室友谈论的八卦,他很快就睡着了。
默默在梦里遇到了 XYL,然后碰到了神仙。
神仙先说话了:“默默,你最近想的东西有点多了。”
XYL:默默只是在思考猫生。
神仙: 不行,默默,有些东西还是要保持神秘,不要狡辩。
默默:不是???
神仙:我跟你说了不要越界。你违约了。从今天起,强制 AFO!你必须退役。明天早上,你会变回猫。所有 OI 比赛和你没关系!明天你把东西收拾掉,11 点前必须卷铺盖滚离开学校。你就在学校外面流浪吧。
XYL:神仙,这太严了吧。
神仙:这是默默应有的惩罚,你再多嘴,你也变猫!
第二天早上,默默在 XYL 的帮助下收拾了床铺,把教室和机房的东西都搬了出去。校门口门卫室,XYL 看着默默的两大包东西和一个行李箱。
“默默,你真的要流浪下去?”
“真的。你先把我东西弄回你家先放着吧,变成猫都用不上了。”默默用打字机。
XYL 点了点头,他托保安先暂存默默的行李。晚上,XYL 把它先弄到了自家的地下室。
默默在十点半离开了学校。他回到了原来的那个池塘,里面的鱼还在。默默看到一个叫 WTT 的中年女性向他走了过来。
默默喵了一下。WTT 说:“小猫真可爱。流浪猫?你有名字吗?”
默默又喵了一下。WTT 说:“小黑猫,那我叫你‘墨墨’怎么样?不行,这个名字太土了,谐音吧。你以后就叫‘默默’了。”
默默被 WTT 抱回家。
默默在 WTT 家里待了两个月。八月了,WTT 家里开了空调。但是默默总感觉热。
“默默,心静自然凉。”
但是默默的心静不下来。


浙公网安备 33010602011771号