CSP-S 2025

· · 生活·游记

前言

JS 高一老龄选手,初中摆了三年,啥也不会,即使去年投入了不少时间,还是仅仅获得了 J 260 卡线 1= 和 S 125 中位 2= 的垃圾成绩。初一时候甚至 J/S 没一个进复赛,初二时 J 运气非常好地进了复赛,结果打了 65,是人类能获得的成绩吗。

初中时候同班的几位信竞佬高中都去了自己心仪的学校 / 班级,zzk 在 nsfz 国科大,zqy 在 NFLS 丘班,hbz 更是成为了大学生,考上了 XJTU 少年班。我不仅是竞赛弱,whk 更是一坨。本校生低分上了 NFLS 平行班。

上了高中对我影响挺大的。新的集体里格格不入,外加对于生人过于内向,也导致了我性格上的又一次转变。初中时候最在乎玩,现在最在乎朋友,似乎上了高中之后所有能玩的时间都找 zing 去了。

跟她还有好几件事没整完,考试前估计没机会解决了。

说了这么多废话该写点儿正文了。但是咱是理科生,没文化,所以世界上有了流水账这种东西。

正文

9.20-9.29 初赛

显然我并没有 J 组获奖水平,但是太贵了考不起,所以没有报考。(我不会告诉你我是因为害怕自己无法 1= 而不报考的)

中午时候在洛谷上看到了上午 J 组的题目,交互是什么阴间题。

J 在哪了?J 在哪了?J 在哪了?J 在哪了?J 在哪了?J 在哪了?J 在哪了?J 在哪了?J 在哪了?J 在哪了?

下午去考场时候就有一种不好的预感。感觉 S 会很难。显然是因为我太菜了才这么觉得。

我阅读程序 T1 只得了 1.5,感受到了差距。对了答案,58.5 分。然后发现 LG 上全是 [65,100] 的人在问自己进不进得去,给孩子整自闭了。

后来知道了国控线是 62.5,感觉自己无了,结果过了几天柳暗花明了,JS 分数线是 58.5,那很爽了,然后开始准备月考。

10.14-10.15 月考

你外出的什么化学卷子?根本写不完。就考氧化还原反应和离子反应,结果硬是难出了竞赛难度。(骗你的,月考没竞赛那么简单)

10.16-10.17 受刑

原来上了高中可以有每个科目的班排。 科目 成绩 排名
语文 107/150 29/49
物理 96/100 1/49
数学 114/150 6/49
化学 62/100 22/49
英语 140/150 2/49
生物 91/100 13/49
Total 610/750 6/49

你外化学一半以上的人没及格望周知。(骗你的,你去你也)

因为开学到月考没有听过任何一节课被同学集体控诉了。

10.18-10.19 备赛

并查集写成 return fa[x] = 0;,失败的 OI 生涯。

做了一套模拟题,荣获 100+20+30+15 的成绩,卡了 1= 线,但是依旧没前途。

10.20-10.22 准备运动会

这么冷的天还要排练运动会的操,你外还有人类吗?

被班主任点名形容为“忧郁寡欢,茶饭不思”“失恋导致的”,那我问了。。。

插曲

背景:课间时我扒在班门口走廊的拦杆上 emo,班主任从背后拍了拍我。

师:你怎么了?怎么这几天都那么 emo 呢?\ 我:啊。。。老师,没怎么呀。\ 师:你是失恋了吗?你这连续几天都这样似乎只能用失恋来解释了。\ 我:啊?!老师我没谈啊。\ 师:是哪个班的女生呀?叫什么名字啊?告诉我我去帮你追。\ 我:老师真的没有。。。\ (后续内容过于逆天,不说了)

10.23-10.31 复习备考

I'm faded. (from Faded of Alan Walker)

之前一直不敢做 J 组的数学题和思维题,总感觉做不出来。现在回眼看看,至少敢写了。CSP-J 2022 T2 解密之前一直想不通,突然就会推了。

\text{Conditions : }n=p\times q,e\times d=n-(p+q)+1
  1. p\times q=n
  2. p+q=n-e\times d+1=t
$\to p\cdot(t-p)=n$\ $\to tp-p^2=n$\ $\to p^2-tp+n=0 $\therefore\Delta=t^2-4n$\ $\therefore x=\dfrac{-b\pm\sqrt{\Delta}}{2a}=\dfrac{t\pm\sqrt{t^2-4n}}{2}

不知道做出一道裸题有什么好炫的。

后来写了什么倒也不重要了,主要是想把暴搜和 DP 能力捡回来。可是还是失败的。

As a matter of fact, I'm a complete loser.

于是我以这样一个浑浑噩噩,溢于言表的状态开启了我 OI 生涯倒数第二年的考试。有些话知道自己不该说,但还是说了;有些事知道自己不该做,但还是做了。

就这样吧,最差的自己面对最需要成功的考试。

And that's that. (from All Falls Down of Alan Walker)

10.31 细节补充(在校 + 在家)

冲最后一次,没啥机会了。

在校(7:00-17:53)

今天学校里举办了 2025 年南外“足王杯”的第一轮比赛,中午 12:30 在操场举行的,分别是 1 班 vs 10 班和 4 班 vs 9 班。

我是 8 班的,所以今天比赛和我无关,我们第一场是 11 月 4 日下午 15:20 的体育课,打的是 6 班,我诡秘她们班,但是我伤了,希望几天后能好。

最后的这几天在学校我都抱着一本《深进》在校园里游荡,无关紧要的课还有晚自习就跑出去看了。真是无能为力,大半年没有学 OI,很多板子都不会敲了,其实心里挺难受的,再加上开学的两个月心力憔悴,实在是没底。

最令人忧郁的事情莫过于除了在朋友面前时所有话都会说,语言组织能力的丧失是万恶之源。

也许是嘈杂的环境所致吧。

在家(18:50 后)

无法正常与父母交流沟通,我究竟是犯了啥病啊。

晚上做了一套函数单元的数学试卷,倒序做的题,有点像写作文,证明真的好烦。

晚上爆切 7 道板子,好像回忆起来了一些用法;做了这几个题。

祝所有人 rp += INF;

11.1 比赛日

比赛前

去年要在南校区泡一整天,今年上午的 J 组不用去,正好多了 3.5\text{h} 的心态调整时间,理智告诉我不要写绿题,所以花了一上午写了几个板子。当时在犹豫要不要写最小生成树,最终选择了不写,也证明为我最错误的决定。

吃过午饭后就去学校了,很慌很乱。毕竟,算是裸考了吧。而且中午吃饭吃的很少,没有任何进食的欲望,下午也没有带零食。

13:33 到了学校,去了趟 C208(我们班教室),再回去时已经 13:40 了,有几个考场已经出发了,在其中一个考场的队伍的末尾看到了 zzk,打了个招呼,他在 B304。我在 B308,所以他排队时候和他聊了几分钟。附中集训的题目居然全是 MX 的,还是太强了。

不知道怎么形容看到他时心里的感受了,有点想哭,又不想分开。俗一点来说,就是“老乡见老乡,两眼泪汪汪”。

可惜我并没有看见 zqy,开学到现在和他都没有联系过,只有初赛那天下午看见了他。以后可能也没什么机会找到他了,他在北校区脱产学 OI,我在南校区学 whk。

13:53 进了考场,一年没用过的 Linux,我居然还会操作,真是个奇迹。敲了劣质的 ST 表,死了的 SPFA 和毫无用处的 dijkstra。

敲完时已经 14:25 了,去了趟厕所,脑袋乱得不行,就洗了把脸。

回来时已经发密码了。

14:30~18:30

T1 第一眼很简单啊,因为没看到人数限制 \le\dfrac{n}{2},所以状态转移非常弱智。然后 5\text{min} 把这个假的 \mathcal{O(n)} DP 写了,以为自己秒了,测了一遍大数据,输出了 18\ 6\ 14。于是我发现了人数限制,此时是 14:50。

然后我犯了有史以来最严重的错误。我认为自己的 DP 写的是牛逼的,所以我用了一个 cnt 的数组来标记每一个 dp 的人数,于是再测大样例,18\ 2\ 10,还是错误的,所以开始瞎调。先把 debug 的语句写了,然后发现每一次都是是按输入顺序进行的状态转移从而忽视了后续可能贡献更高的人,发现时已经是 15:30 了。

此时依然陷在相信 DP 是正解的深渊中,以至于忘记了 DP 无后效性的最基本性质,这里就该好好想想是不是该反贪,但是我铁头娃的特性使我离退役又近一步。

所以我开始思考 DP 是不是写挂了,然后想到了 60\text{pts}\mathcal{O(n^2)} 的 DP,f_{i,j,k} 表示三个社团分别有 i,j,k 人时的最优策略。

但是我没有写下来,因为我认为可以优化掉 k 的那一维,但是仅是空间上优化,时间上依旧是 \mathcal{O(n)}。我非常想要进步,所以不满足于 60\text{pts},然后引爆了这个代码。

后面思路乱的不得了,写的可谓是满纸荒唐言。乱搞的 DP 过了 3 组大样例,后面的 2 组都挂了其中的某几小组,调完时已经是 16:30。

其实,T1 想着用 DP 写 \mathcal{O(n)} 就注定我无法获得比 20 更高的分数。

T1 过不了意味着我要在后面的题中比正常多获得我在 T1 失去的分数。2\text{h} 开 T2,我带着这样的心态开了 T2。

T2 是最小生成树。我看到时心凉了大半截,因为我考前的复习还刚放弃这一块。所以我试图根据记忆写 Kruskal。并查集刚写,还记得,但是具体的内部实现时,怎么合并,已经毫无记忆了。这个板子,有 16\text{pts}

当时已经知道这次很可能炸在考场里了,就开始干想 T2 更高的分数,因为我已经失败了。

注意到 k\le10,所以肯定是一个类似于 \mathcal{O(2^k)} 暴力的枚举,还有 Kruskal 的 \mathcal{O((m+nk)\log(m+nk))},就是 \mathcal{O(2^k\cdot(m+nk)\log(m+nk))},这样是 48\text{pts}

但是带有 m 的复杂度是没有前途的,而且每一次都要跑原图的 m 条边,所以通过一次在原图上 \mathcal{O(m\log m)} 的处理就可以将 m 弱化为 n。于是就得到了 \mathcal{O(m\log m+2^k\cdot nk\log nk)} 的做法,如果有了 Kruskal,我在赛时就可以做到 80\text{pts}

但事与愿违,我甚至选择了较次的 Prim 算法,但是还是写了一堆无法维护的代码。最后用 dijkstra 交了这道题,大概率是没有分的。

想完这个时,已经是 17:15。于是开始看 T3 和 T4。当时很累,然后心里又很难受,正好对面的大哥开了一包薯片,味很重。我当时真的很嘴馋,又没带一点儿零食,中午还没吃好,所以急的我想哭。o(╥﹏╥)o

开了 T3 时我发现自己看不懂,所以果断全部输出 0 骗分跑路。巧了能拿 5 分,但是大概率是 0 分。

T4 看起来比 T3 可做的多。前两个点范围是 n\le10,送给暴搜的 8 分。但是我已经懒得打暴力了,所以就考虑测试点 #7 里 n=m 的特殊性质,对于 n!0 进行分类讨论就有了。这道题大概率是 4 分,也有可能被自己挂到 0 分。

写完这些时是 17:50。而我也已经放弃了所有的思考。遂打开 T1 写下最后一次 OI 考试的感言,最后一句是 I love you.

勿念。

写完时是 18:10,头晕脑胀,眼睛还疼,举手和老师说想上厕所。于是我在厕所里度过了 OI 生涯的最后 20\text{min}\dfrac{3}{4},厕所里冷一些,可以吹散我的杂思,终究还是输给了感性。

为什么不待到最后是因为被老师叫回去的,他来叫我时还好心地把我脸上的眼泪擦干了,表白这位老师。

最后 5\text{min} 无法逃避,好像很漫长,重复回放我学 OI 的每一幅画面;也好像很短暂,转瞬即逝。

时间到了。

比赛结束了。曲终人散,悄然离场。

比赛后

我们考场的程序回收系统出了重大问题,显示的是上午 J 组同座位考生的代码长度,所以在考场里一直等到了 18:50。考场里很嘈杂,大家都在说话。周围的几位初一初二的小孩都有说有笑。回想初一时,我 J 和 S 都没有进复赛;初二时,我 S 没有进复赛。所以我并没有在他们的年龄出现在这个考场中。他们的样子真的很积极,真的好好,未来是他们的。希望等到他们像我这么大时,能笑着走出考场,迎接他们的会是欢声笑语。

我无力地走到老师面前,随口说出了代码长度。知道那时我才真正注意到我的 T1 写了 4925B,可这终究是过去式,好与不好已是定局。

走出考场的路上遇到了 frq,去年也是 S 考完后遇到的 frq,他考得很好。

晚上回了家,睡不着觉,一直写作业写到了次日 1:00,然后在床上又 emo 到了 3:30,一直在推 T1,可还是不会。然后上了个厕所,回去就睡了。

11.2 退役感言

比去年低了 100 分。

不知道再该多说什么了。留个剪切板吧,看不到的话访问这个,更新完了会发犇犇的。

尾记

感谢陪我度过这些年的所有同学和老师。以后我将更多地投入真实的生活,陪伴我现实中的朋友,专注于文化课的学习。这四年,感谢有你!

你相信时间会抚平一切,可时过境迁,你已不复醒。

We love you and I'll be back. (from Kevin De Bruyne)

承接前言,去找她解决未完之事了。

\text{AFOed.}

勿念。

\text{by Christmas\_Defunct, written on 2025.11.2}