CSP-J/S 2025 游记
前排叠甲:本游记所有试题内容均为考后更新,博客显示“2025.9.19”为发布时间而非更新时间,并没有泄题。
注:考虑到洛谷游记不能用暴戾语言,故以下暴戾语言均使用【奶龙】代替。

突然发现今年忘记写游记了……
[2025.6.30,2025.8.1)
[2025.8.1,2025.8.31]
暑假集训 15 天,一天比赛一天专题。早上 8:00 到机房训到 12:00 然后和高三抢饭,下午 14:00-17:00 继续搞,晚上 19:00-22:00。只有单休不行了累成狗了,吐了
游记:2025 暑假集训- - wwwidk1234 - 博客园
然后军训。
Day1 开学听讲座、破冰、自我介绍,然后上台讲了两句话就下去了……
Day2 教官见面会,然后也没啥好讲的
Day3 不知道干啥了
Day4 忘了
Day5 晚上是联谊晚会,然后上台表演了一个抽象小品,“魔术技巧!”
Day6 刑满释放
[2025.9.1,2025.9.19)
开学,道法历史地理课完全听不懂,作业梦到什么选什么,结果一个政治题答案 ABD 我选了个 C。
数学老师讲课挺好的,讲的快而且听得懂,开学第三周已经讲完集合和不等式了。而且有一次因为某些原因一节课只有 20min,然后课件课本一扔直接 20min 速通基本不等式,而且我甚至听懂了?然后上课有时候还会吹一下水,记得讲不等式的时候书上有一个题目“蛋白质含量必须大于等于多少”,然后从这个题目讲到学校食堂,然后再讲到奶茶,然后说了一大堆有关垃圾饮料的事情,然后讲到奶茶,说什么“考好了奖励奶茶是不行的,因为喝奶茶喝多了会变笨”……
类似的神奇课外拓展还有很多,物理老师也有很多课外拓展,写不完。
生物老师感觉很像我们初中的生物老师,也很像我们初中的化学老师;历史道法课相对于物理化学全班都安静很多(或许是因为我们班没啥人选文科?)
吐槽一下神奇数学练习本,写的题面纯左右脑互搏,在区间都没学的情况下,“取值范围”写了三种形式:一种是不等式形式 \(-1218 <x\le 211\),一种是区间 \((-1218,211]\),一种是集合描述法 \(\left\{x|-1218<x\le 211 \right\}\);还有就是在区间函数都没学的时候写了个“函数 \(f(x)=ax^2+bx+c\) 在 \([-1,0)\) 上是增函数”“函数的定义域为……”。评价是点击输入文字。
抽象出版社,化学练习册没有发小本,然后老师直接连夜印了 \(50\) 多页左右的 A3 纸给全年级 \(1400\) 个人每人发一份。
周三下午翘课过来打长乐一中模拟赛,有一场比赛 T2 是树链剖分板子题,然后浅浅学了一下之后就突然发现我居然能秒(树剖)蓝题了。
2025.9.19 初赛 Day-1
中午先预习了一点函数,然后 13:40 分了(14:00 起床)准备睡觉,结果在宿舍里聊猎奇话题聊到起床。没睡着。
熬完道法历史课之后就去机房了,然后一个晚上干了什么?首先是写了一下物理化学作业,然后写了半天的入门赛发现倒数第二个题是大模拟然后一怒之下不写了,然后调了半天的 VSCode,然后写了洛谷 CSP-S 2025 初赛模拟赛的完形填空部分,树的重心凭感觉五个空全填对了,然后第二篇扫描线没学过,梦到什么选什么,正确 3/5。
然后我发现我一个晚修好像也没干啥。
晚饭都没吃,先去抢夜宵了。
明天 CSP-S 2025 初赛了,还是在本校考,祝 RP++ 吧!
2025.9.20 初赛 Day1
你说得对,但是《CSP-S 2025 初赛》是由 CCF 自主研发的开放世界冒险游戏。游戏发生在一个被称作「满线段树」的幻想世界,在这里,被模式串选中的人将被授予「next 数组」,导引 KMP 之力。你将扮演一位名为「机器规划员」的神秘角色,在自由的排列组合中邂逅性格各异、能力独特的方程的解,和他们一起走特殊最短路,找回失散的存在缺陷的生产线——同时,逐步发掘「You have no egg!」的真相。
主场作战!同样是下午 14:30,同样是两个小时的考试,同样是主场作战,怎么有一种中考语文的既视感。
晚上一点钟才睡着……早上起来困死了……
水了一会洛谷讨论区之后就去浅浅写了一下洛谷 CSP-S 2025 的初赛模拟,结果阅读理解完全看不懂,梦到什么选什么:
总分 \(24+{\color{red}8}+24=56 \operatorname{pts}\),阅读理解实在不行。
然后找到了一个抽象题目:
以下代码输出结果为( ▲ )
#include <cstdio> int main() { int a = 1, i = 5; switch(a) { case 2: for(i = 1; i <= 10; ++i) case 1: printf("alhaitham\n"); } return 0; }
选项 结果 选项 结果 A 编译错误 B 运行时错误 C 1 行 alhaitham D 10 行 alhaitham E 6 行 alhaitham F 5 行 alhaitham
答案选 E,但是我瞪眼瞪了半天还选了一个 C,发给 @ws517602 做也是 C。
考前多玄学一下:《原神》角色演示-「艾尔海森:思而后行」
中午放学之后去南门找 @枫原万叶 然后去水吧买了两包薯条,去饭堂打了一个 \(15\) 块钱的套餐,然后边吃边玩,我用 2+1 那维莱特帮他打爆了幽境危战,还帮他把万叶好感度刷满了。然后我就就去须弥净善宫玄学。(中考也是去这里玄学的,只不过这次角色换成了艾尔海森)
中午回到宿舍启动 Phigros 打了一下 Chronomia、c.s.q.n 和 Distorted Fate 直接被谱面床飞。
13:00 睡觉(并没睡着)13:35 起床,然后去先去教室把准考证拿上就去南门找 @枫原万叶 没找到。
考前看了一下主定理,然后进考场了。进考场之后还发现自己铅笔忘在机房了。还好监考员有一支。
开考!
【单项选择】
T1 不一眼组合数学?诶等等“除颜色外完全相同”,只能用组合数是吧。C。
T2 KMP 还告诉你 next 数组是什么东西。送分题。
B。T3 线段树模拟,送分。
送分到 T7 一看,这个要画 8 个顶点的完全图,然后只画了 \(1 \to 2 \to 3 \to \cdots 8\) 发现好像已经是最小生成树了。T8 刚拿到没什么头绪,然后发现这个 \(6\) 一定是根结点,就可以把 C,D 排掉了,再想一下“根节点左边比自己小,右边比自己大”,然后搞了一下就搞出来了。
T11 刚好用上了考前看到的主定理,发现 \(\log_2 2=1<2\) 然后直接 \(O(n^2)\) 了。
T13 这题我们数学老师讲容斥原理的时候讲过?甚至连数字都没改?数学老师有点厉害了 %%%
T15 瞪眼一看感觉是 B(因为之前做哪个题的时候好像就是按照 deadline 排序的)把 A,B 选项拉出来算了一下,发现 A 选项有 \(3\) 的惩罚,B 选项没惩罚。所以果断选 B。
【完形填空】
还剩 1h20min,前面单项选择写的有点慢了。
A 篇。一看这个“免费最短路”这不一眼洛谷 P4568 [JLOI2011] 飞行路线?然后怎么建立分层图都想好了,一看发现这个题最多只有 \(k=1\) 个免费的边,然后这个写法也是有点奇怪。其他都没什么纠结的,但是就是这个第二空到底在填什么?写了个 C 上去,不知道是不是挂了。
B 篇,今天上午 J 组考交互,下午 S 组也考交互对吧。但是实际上发现也没什么难的,唯一一个纠结的就是这个第二空 next_permutation 还是 prev_permutation。发现前面生成的东西是一个 111111000000000 一大堆 \(1\) 后面跟着一大堆 \(0\) 的东西,然后这个东西好像没有 next_permutation,prev_permutation 好像是 111110100000000 还是啥?总之不可能是 next,然后就选了 prev。
【阅读理解】
还剩 40min 了,要赶快了!
这个 A 篇一看感觉像是和排列组合有关的,手玩了一下 \(n=3\) 的情况,发现这个 dfs 本质上就是在找满足 \(\forall k>1,p_k \neq p_{k-1}+1\) 的排列 \(\left\{a_i\right\}\) 个数。15 min 干掉。
B 篇,You have no egg 是什么鬼?看到这个 cnt_broken==2,然后就猜到了这个应该是鸡蛋的硬度问题,只不过只有两颗蛋。
然后看这个 guess1,这东西是把鸡蛋从 \(1\) 楼开始一直提高高度扔,然后蛋在某一层炸了就是鸡蛋的硬度对吧。
guess2 写了这是啥。没看懂。手玩了一下发现这需要消耗全部的两个蛋。这个 \(w\) 应该是满足 \(\dfrac{w(w+1)}{2} \ge n\) 的最小的 \(w\) 值吧。解一下方程,和 \(\sqrt{n}\) 有关,所以 guess2 应该猜测次数的量级应该就是 \(\sqrt n\) 了吧。
考试结束还剩 15min 的铃打了,但是我还没写完卷子,答题卡也没有填涂!B 篇第六题不会做,排除 C,D 之后 A,B 两个极限二选一选了 B。(考场上好像想的是“这个 13 长得好像 B 啊,所以选 B 吧”)然后火速涂卡看 C 篇。
C 篇是什么抽象折半搜索鬼题?这么恶心的 DFS?感觉只有第二个题这个 mpow(x,k) 像快速幂,然后最后一个选择题,看这个 A,B 绝对不可能(因为就三个元 \(a,b,c\),题目还输入 \(n\) 个元素),然后 C,D 这个值域到底是什么?看代码里面的 \(m\) 都是从 \(1\) 开始循环的所以就猜想这个值域是 \([1,m]\) 然后选了 D。
考试结束。
收拾了一下东西之后去南门找 @枫原万叶、@Summer_Legical 和 @ouyangjq,还抓到了 @Herbie_ZHB、@a1a6、@lzy20091231、@Hyper_zero 一众大佬。我的初中好像还有合影,但是我没去合(合影也没啥人),然后就和一众大佬合了个影:
(图片已删除)
然后和 @Summer_Legical 和 @ouyangjq 逛校园(顺便拿我的行李箱),还看到了高中教练和初中教练,@Summer_Legical 直接大喊然后指着我我当场社会性死亡。
回家的车上估了一下分,\(85\),还行吧:

随手 P 了一张图,没想到火了(

晚上回去 Phigros 更新舞萌联动的歌,打了 Komplexe,HD Lv.9 初见 AP,IN Lv.14 本来还想推 FC 的,结果一直 2 Miss。
[2025.9.21,2025.9.26]
9.21 早上找到了阅读理解 B 篇的原题 SP6562 PRUBALL - Esferas 然后简单写了一下题解。下午挑战画那维莱特,结果连头都没画好就要回学校了。
晚上周测数学,一个不等式填空题和两个基本不等式题犯【奶龙】错误 \(-15 \operatorname{pts}\),喜提 \(140/155 \operatorname{pts}\),一个基本不等式题目算出来长方体一条棱长 \(64 \operatorname{m}\) 的……然后语文周测默写,发现《静女》和《涉江采芙蓉》完全忘了,卷子还没写完,抽象分数。
半夜补周末作业,补到 9.22 凌晨 12:30 才补完(本来打算历政地不写的因为不选这三科,但是地理老师是班主任所以还是写了)
然后早上起来脑子一片昏昏沉沉的,两节数学课都不是原来的老师讲(原来的老师出差了),有点不习惯,但是第二节课的讲课老师讲函数的定义域值域问题还讲得很好的。但是我还差点睡着。体育课找不到自己班了继续补作业,然后物理作业算出来一个 \(\left( \dfrac{9}{5}+12\sqrt6 \right) \operatorname{m}\) 的神奇答案。
中午睡了一觉起来感觉更困了而且头还更昏昏沉沉的。
下午第一节地理课前,同桌跟我说“明天第二节课上完就停课回家”,我说“你信这个还不如信我初赛考了 \(101\) 分”,然后第一节地理课“大气的垂直分布”,老师直接在课的开头讲了停课的事情。秒打脸。
然后下午放学吃了个饭就跑来机房更游记了。晚自习上完第一节课继续跑回机房,还有 \(10\) 页化学没写完,写一半发现上课讲了这些吗?直接不写了。
9.23 上完第二节课直接跑路回家,下午尝试击杀 P14026 [ICPC 2024 Nanjing R] 我将如潮水般归来 然后调到晚上才写完。然后去洛谷水犇犇,肝 题解:P14026 [ICPC 2024 Nanjing R] 我将如潮水般归来 到半夜 2:00 终于写了一半。
9.24 起来早上把 题解:P14026 [ICPC 2024 Nanjing R] 我将如潮水般归来 写完,然后把语文卷子写了一下。被文言文阅读控了半天。下午写了数学卷子,然后被一大串超级难算的式子整红温了直接抄了。还剩两个大题没写完。晚上去和 @枫原万叶 刷了半天幽静危战和 BOSS 然后刷出了一个双爆+精通的沙,给海森带上去之后发现精通只有 \(180\) 了 /tuu 然后打开 Phigros 尝试推神话 AP 然后就真的 AP 了!!1
晚上突然知道了明天要提前返校的通知当场爆炸。
9.25 早上起来打幻想真境剧诗结果喜提 \(9/10\) 幕的好成绩。中午连午饭都没吃就要回校了。结果作业只做了两科半,下午本来想着体育课补一下作业的结果被物理老师征用了,通用技术课一节课只写了一个英语阅读的选择题。晚上还要周测数学英语。。。完形填空变完蛋填空,直接爆挂 \(5\) 个。
9.26 下午过来查分,\(85 \operatorname{pts}\) 预估等于实际,然后 S 组保送线只有 \(62.5\) 应该没问题了。然后我的首紫题题解 题解:P14026 [ICPC 2024 Nanjing R] 我将如潮水般归来 终于过审了1111
9.27-9.30 我好像啥都没干(?)
[2025.10.1,2025.10.7]
国庆颓了一周,去图书馆梦到什么干什么,然后学化学氧化还原反应搞了两天才学会。
10.1 和 @枫原万叶 @Wu_sqmmt 出去玩,然后看 @枫原万叶 直接把谷子店里的万叶徽章直接买空,吓哭了 /bx /bx
[2025.10.8,2025.10.31)
十月中旬考了高中段考一,然后:

语数英物化生排名 \(273/1396\),语数英历政地排名 \(596/1396\),鉴定为开幕雷击。反正文科是学不了一点的,上政史课完全是在梦游。
然后大概就是晚自习翘课,音乐美术信息体育翘课,虽然体育已经虚到国标测试 \(3'59\) 跑一千米了但是还是继续翘,舍友抓我打羽毛球我也跑了 其实球场上层没场地,下层被天花板吞了两个球所以不想打了。 但是身高一米八一也是成功超过那维莱特了(
晚自习翘课,作业怎么办?在宿舍开手电筒写,用 pdd 6.9 包邮的手电筒,开灯了之后跟闪光弹一样,一开即使隔着一层衣服一层被子还是巨亮无比。虽然打着灯写但是没写多久就睡着了()然后第二天早上上课直接困成狗了(
每周二和周四都有模拟赛,不过都好像都把模拟赛当成 IOI 赛制来做了,直接删掉网址里面的 /contest 然后看分数,一个个全部 \(250+ \operatorname{pts}\)。
2025.10.31 复赛 Day-1
一周都沉浸在紧张的状态,对明天的复赛感觉有把握但不多。
一想到这一年的成果都要用一张卷子交代就很紧张。随便找了一些水题写了写,然后整理了一下明天早上要打的板子,再看了一眼二分答案。
想到明天可能出像 CSP-S 2024 T1,T2,T4 三个贪心就很慌,因为贪心感觉想结论想很久。
晚上 23:50 才睡。
2025.11.1 复赛 Day1
早上 7:20 被舍友叫醒,然后去找了 [@枫原万叶] 和 [@ttyy0518] 送他们去考试,然后回机房把一些板子打了一遍:
题单:[CSP-S 2025] 容易忘记的板子
描述:
2025.11.1 上午打一遍
- LCA 和 ST 表这两个,模拟赛天天忘天天偷看模板的,打一遍!!!
- 单调栈、单调队列忘得差不多了
- 贝祖定理应该不会考
- Prim 要打一遍
- Spfa 要打一遍(?)Bellman ford是不是要打一遍?
- 3次 | P3383 【模板】线性筛素数
- 6次 | P3865 【模板】ST 表 & RMQ 问题
- 4次 | P3379 【模板】最近公共祖先(LCA)
- 4次 | P3375 【模板】KMP
- 0次 | P1226 【模板】快速幂
- 0次 | P5788 【模板】单调栈
- 1次 | P3372 【模板】线段树 1
- 0次 | P4549 【模板】裴蜀定理
- 2次 | P3366 【模板】最小生成树
- 1次 | P1886 滑动窗口 /【模板】单调队列
- 0次 | P4779 【模板】单源最短路径(标准版)
机房一个同学让我帮他看 ST 表哪里写错了,然后瞪两眼瞪出两个错误直接 AC,ST 表应该也算背熟了。
感觉很久都没有考字符串了,所以写了一下 KMP 板子。
考完之后 [@枫原万叶] 和 [@ttyy0518] 他们都说考的很好,题目比较简单 从他们满脸欢笑的表情可以看出,然后中午给了 [@枫原万叶] 一件我们学校的校服然后三个人一起跑进教师食堂蹭饭,点了一个 \(7\) 块钱的简单套餐,还算可以。
陪了他们逛一逛校园,然后就回去睡觉了。中午看了下 J 组题目,觉得还挺简单的,T4 感觉和洛谷 CSP-J 2025 模拟赛 T4 P14259 兄妹(siblings) 这么像?都是钦定最大值然后跑背包?
下午 \(14:00\) 被宿舍起床铃叫醒,我去怎么一下子都两点了?看到宿舍楼下都没人了于是飞奔到考场。考前看了一下 KMP 板子,然后安检进考场。
\(14:30\) 开考!解压密码 Ren5Jie4Di4Ling5% 人杰地灵?
看了一下全部题目,感觉难度抓不准,T3 考了个串串,T2 看到“乡镇城市化改造”还以为是 whk 道法的背景(?)T4 好像没有去年那么难了。
把板子什么的打一下就写 T1 了。希望这次 T1 不要像去年一样在一个【奶龙】题上花费 \(\ge 60 \min\)。
首先看一下这个 T1 感觉思路很混乱,想着先安排部门一,然后安排部门二,反正就是排序排三遍,推了半天发现没思路就写了个暴力,测了一下打样例感觉没啥问题。然后就打开画图手玩了一下样例 2 好像摸出了点什么东西,就想着是考虑每个人的第一志愿以及把这个人滑档到第二志愿的代价,首先把每个人都分到第一志愿,然后如果满员了就挑几个滑档代价比较小的滑档到第二志愿去,写了三个优先队列。最后还是花费了 \(60 \min\) 左右,已经开始慌了,有种不祥的预感。考场上预估 T1 难度也就是橙,会在这种【奶龙】题花费这么久,怕后面的题没时间写。然后写了个对拍挂在那里了。
看 T2,感觉脑子一片浆糊。一开始想着这不是【奶龙】Kruskal 板子吗?想着应该能切掉。能切掉。能切掉。能切掉。老子他妈的一定要切掉这个题!
于是,这个人又慌了。而且是非常慌。
想建虚拟源点代表村庄,然后虚拟源点跑 Kruskal 然后发现村庄改造建立是有代价的。打了个 \(k=0\) 的 Kruskal 板子上去就申请上个厕所。缓一下。
然后就想出了很多种【奶龙】做法,比如把乡村的点权变成边权然后发现一个乡村可以连接很多城市然后就推翻重想,最后想出来 \(O(2^k)\) 枚举每个村庄要不要升级,然后暴力建图跑 Kruskal,总共就是 \(O\left(2^k \cdot (nk+m) \log (nk+m)\right)\) 的抽象复杂度。然后想到了一个机房同学说的 merge,合并两个有序的 vector,就点进去看了一下旁边的注释然后摸索出了一个做法。然后剩下了 \(1.5h\) 写 T3T4。
T3 出了个字符串感觉像 KMP 匹配,第一眼还以为能变换多次的,然后看了两遍题才发现我看错了,只能替换一次。
然后看一眼样例发现怎么这么多 0,打开大样例发现一大堆 0,最后想着可以直接打暴力然后时间超过 1.9s 直接全部输出 0。
然后写了个 KMP 匹配能替换的东西,我也不知道我为什么要写 KMP 反正当时也是慌完了,完全不对状态,一直在想着一等奖会不会离自己而去。
然后过了两个小样例,大样例一测发现全他妈输出零了。然后看一眼 replace3.in 的倒数第三组询问发现答案是 \(5\),我自己想着应该只是有 \(1\) 的,因为只有一个 l p 能对的上不知道为什么(赛后用 vscode 发现是能搜出来五个 l p 的,【奶龙】 Dev C++。)
反正也不知道为什么全部输出 0。感觉这一题应该也没分了。
看 T4,没时间了,只剩 \(15 \min\),我能干什么?手一直在发抖,脑子一片混乱。看到 \(n \le 10\) 行那就写一个 \(8 \operatorname{pts}\) 的暴力吧。然后就写了,然后发现就挂了。不知道为什么。
还剩 \(2 \min\)。还剩 \(1.9 \min\)。还剩 \(1.8 \min\)。
监考老师一直在上面说考试结束后怎么安排。非常干扰思路。
最后发现了我输入 \(s_i\) 数组的方式有点问题,当时输入了一个字符串 st 然后直接把字符串给 \(s_i\),没有 st[i]-'0' 最后一秒钟把它加上去了,甚至没有测样例。
一声尖锐的考试结束将我这一年的 OI 训练付之一炬。
我坐在座位上什么都不知道我在干嘛。监考叫考试结束时我也和其他考生一样举起双手等待收卷。
走廊里挤满了兴奋讨论的同学,他们的笑声和争论像隔着水传来,模糊而遥远。本校的老师拍了拍我的肩,说了两句“这只是一次考试”之类的安慰我的话,但一个字也没听清。身份证差点忘在桌上,是监考老师在身后叫住了我。
晚上一群群 u 在灌水区讨论自己 S 组爆炸。
在天台边一个人想了很久,我努力这么久到底得到了什么。是无数个深夜对着屏幕调试到眼睛干涩的坚持,是一遍遍打板子直到形成肌肉记忆的执着,还是此刻心中这片空荡荡的回响?
我曾以为算法竞赛这一条道路可以让我一直坚持地走下去。可当终场哨声响起,我才发现,我倾尽所有搭建的,不过是一座木头的堡垒,火一烧,便什么都不剩了。
2025.11.2 复赛 Day2
早上啥也没干,下午带着很深的怨气回校。晚上数学周测完全不在状态。
2025.11.3 复赛 Day3
我一直在思考,我学 OI 学到现在,我究竟收获了什么。
是无数个夜晚的奋战,因为一个题目调到半夜只为一个 AC 结果导致第二天文化课完全没精力;因为想提升 OI 水平逃 whk 课然后发现 whk 退步到年级倒数?
我该在哪里停留?我问我自己。
——[省选联考 2025] 追忆
或许,OI 一切的终点将会在 NOIP 2025 吧。我将要和 OI 说再见了。
也许未来的某一天,当我再次看到一个板子,我还会想起那一场比赛,那个在键盘面前拼尽全力的自己。
也许未来再翻开四年级时的第一个 iostream.h,我还会想起来少年宫第一次编程兴趣班的前一个晚上,我的兴奋。
也许未来的某一天,我还会想起初中第一次参加 CSP-J 时,步入信息学竞赛的期待。

2025.11.6 复赛出分
\(100+52+30+0=182\),估计没有 \(7 \sqrt{}\) 了。
T2 写了个【奶龙】代码,\(k=0\) 的 Kruskal 写了一个每读入一条边就清空一次并查集,结果 \(80 \to 52\)。
更新了一下迷惑行为大赏,写完了发现已经有人写了(

浙公网安备 33010602011771号