CSP-S 2025 游记

· · 生活·游记

记号与约定

下文如果无特殊说明,用“龙”指代“唐”。

前言

我是一个初二开始接触 OI,在初三才拿了 CSP-J 2= 的选手。

本以为与 OI 无缘了,在初三和 OI 告别的时候也没有太多复杂的心情。

但是,在各种机缘巧合下,高一的我重新捡起了 OI。

但是,CSP-S 2024 T1 五分钟看出众数然后数组越界,死磕 T2 无果,10 pts 遗憾离场。

靠着 C 类名额进了 NOIP,T1 一眼没秒掉,心态大崩。

感兴趣的可以看我的 CSP-S 2024 游记 游记 和 NOIP 2024 游记。

在这之后我开始逃避现实,whk 和 OI 双线崩盘。身边很多人劝我退役。但是我没有放弃。

2025 上半年的期末考,考出了有史以来的最差成绩。寒假被禁止 OI。

在一些原因的驱动下,我背着家里人又开始了 OI,选择为自己的梦想再拼一次。

新的赛季很快开始了,今年又会怎么样呢?

Day -998244353

暑假学校补课和 OI 冲突了,作为业余 OIer 自然选择去 whk虽然没什么用就是了

晚上回家补早上模拟赛题,以此往复。

中间发生了一些不愉快的事情,我不想回忆。

开学第二周礼拜四

数学周测,措手不及。

天胡开局,40min干到T19。看来圆锥曲线没有白练!

1h20min左右 AK。检查,犯了许多人机错误,估分 148+

但是最后一题把 1+1 算成了 1 \operatorname{and }1,挂了 5pts,需要反思!

开学第三周&& 初赛周

语文周测,意外 rk2。话说我 OI 好久没到过 rk2 了。

英语周测,对于我这个暑假所有英语输入来源只有 KPOP 的人来说,拿下 125+,已经属实不容易。

至少高二 whk 是比高一好多了吧,毕竟拖油瓶全没了

现在才发现原来达到或者超过自己的目标也不是什么特别爽的事情,这之后整个人一直很空虚,不知道干什么。

初赛 Day -6

打 MX 的模拟题,忍俊不禁。

题目里面说

输出一行 n 个数,以空格分隔,分别表示 k=0,1,…,n−1 的答案

我:

for(int i = 1;i <= n;i++){
        calc(1,0,i);
        cout << (dp[1][0][0] + dp[1][1][0]) % mod << '\n';

就这样,如何过初赛?

初赛 Day -2

发现手机里小红书B站倒数日王者荣耀原神全部被我妈删了就很恼火。

初赛 Day -1

开始复习初赛。

其实一开始没担心什么,但是因为 xxs 没了,而且身边的人比较焦虑,再加上去年不好的体验,导致我现在压力比 NOIP 都要大。毕竟自己已经是要被单调队列的那一批人了。

我已经是一个只能打最后两个月 OI 的人了,我还能做什么呢?

六年,三年,一年,两个月,都是一晃而过,两个月,可以逆风翻盘吗?我问我自己。

简单刷了几张卷子,耳机里放着 Yuqi 的 solo2 主打曲好听捏,看了一下马拉车和几个 Linux 命令,准备睡觉。

初赛

上午 whking。

中午出发,发现我安卓手机插不了有线耳机,唐!

车上在猜测会不会考马拉车,还是看了一下虽然感觉自己还是没有看会。

在余一中面到了 zzx。竟然是高一闲的没事开始打 OI,看来我是真的被单调队列了!

开题。单选感觉都很正常,但是考了 KMP 没有考马拉车差评。

阅读第一个一眼看出来在干什么但是第二个选择还是错了。

阅读第二个没懂,什么你没蛋?类似交互?跳。

阅读第三个……不是你怎么告诉我她在干什么?秒!

完善第一个一眼会了,第二个根据上下文也会了。

把阅读第二个蒙完,检查一下前面,交卷。

出考场对答案发现自己前五个选择题错了两个,龙!

不过过线还是很轻松的。

但是你们怎么都有 80+?

我太菜了qwqwq。

国庆

前三天 whk,然后开始 OI。

第一天第二天图论专场,四处挂分。

第三天爆切 T1T2,T3 50 pts之后燃尽了,T4 打了龙氏暴力。

但是 T2 数组多开了一个 0 全部 MLE 了,280->180 ,痛失榜一并且沙暴八钩的机会(8钩佬240)。

第四天放假,终于放了。

值得一提的是,国庆节期间发生的一些事情(为保护隐私不提人名)深刻地打击了我的心态,然后自己喜欢的东西还被ta攻击了搞得我很恼火。我不知道ta说的那些事情是真是假,但是至少到昨天(指2025.10.31)这件事情都还给我留下了阴影。

国庆之后

运动会周!在黄龙搞运动会。

不让打牌,不让玩手机,龙!

贴一段我发牢骚的 QQ 空间:

我一点一点骂\ 首先抓打游戏我能理解 但是抓听歌不抓打游戏几个意思?\ 其次我退一步,抓用手机的所有行动我能理解 但是抓狼人杀几个意思?\ 最后,我一退再退,牌全部拿走,法官最强大脑,还要骂几个意思?不让聊天?跟傻一样在座位上坐着?\ 人家就没事?就你有事?就你*事多?\ 明天打死不来了。

“明天”确实不来了,因为去机房 OI。

第一天:T1 一眼不会,开始颓,颓了一会会了一个 O(n\log n\log V) 的做法,写写写。

T2,T4 打几个特殊性质和暴力,T3 因为前面在颓没打出暴力,以后不能颓!。

第二天:一道蓝题+NOI 模拟赛,T1 想了一个 dp,O(n^2),拼尽全力无法优化。

T2 玄学搜索,最后拿了 90 pts。

经过转化这个好像可以变成弹飞绵羊树上版,然后我秒了弹飞绵羊还是不会这个。

T3 暴力,T4 暴力不会。

后面就是一直 whk,一直 OI。 ## 文艺汇演 以下内容不会在校内 OJ 讨论区的题解里面出现。 这块内容本来不应该出现在一个 OI 的游记里面,但是文艺汇演只是一个时间节点,核心内容无关于文艺汇演。 因为四个校区在一起就去面了几个初中同学,里面有我(认为)我目前最好的朋友。当时离 CSP-S 还有一个礼拜左右,因为国庆那件事情加上自己最近 whk 和 OI 的状态都不是很好,一度亚历山大。 我根那个“最好的朋友”说,如果我出事情了你就把我游戏账号谷子小卡怎么怎么样,他问我我会出什么事情,我笑着摇摇头,说了句压力太大了。 分开的时候我问他能不能跟我抱一下,他就跟我说: > 没事的 ## 备赛周 没条件脱产,whk 又挂分,只能午休自修课来 OI。 最后一场信心赛,T1 橙,5min 秒,T2 感觉是个绿的,但是一直不会。 然后会了一个线性做法,感觉自己牛逼炸了。 T3 会了 $O(nk)$ 暴力 DP,感觉要树链剖分优化就跳了。 T4 不会。 看榜发现 T2 假了,服! 再度陷入迷茫,新心赛都上不了 200,我该怎么办? 订正的时候想到 T3 线段树就可以了,然后 A 了人生中第一道独立做的线段树优化 DP。 最后一天 ysh 大神说这个题可以莫队!于是考前一天在字符串 Hash 和莫队里选择学了莫队。 打了几个板子,结束备赛。 ## Day 0 ### 考前 考前歌单: - Miyeon 《Reno》 - BABYMONSTER 《We Go Up》 - idle 《Revenge》 上午 whk。 回家打了 【数袜子】 这个题,秒杀。 然后发现自己袜子和身份证都找不到了,太不牛了! 车上 @IntoTheDusk 大蛇预测考题 - T1 是简单贪心,橙到黄 - T2 是图论建模,绿左右,会很简单而且部分分很多 - T3 是一个 DP,需要数据结构优化 - T4 是数据结构或者字符串 到了考场,突然肚子痛,找厕所呕吐不止。 初赛考前流鼻血今天呕吐是吧,NOIP 会怎样呢?(bushi) 不过先得有 NOIP 打再说。 ### 进厂 进考场,解压之后发现pdf没有加密? 开题!T1 第一眼不怎么会,先看了特殊性质,发现两个桶特别好做。又观察了两分钟发现只有两个数字会产生贡献,而只有一个桶会超过上界。于是按照贡献差从小到大排序之后反悔贪心就过了。 此时用了 20min,写了 91 行,感觉这个题有黄。 然后看了 T2,真的是图论! 一眼最小生成树,发现前四个点就是最小生成树板子,得分 $+16pts$。 开始思考正解,我怎么不会? 继续看特殊性质,把特殊性质 A 的存在看成任意了,我还以为答案是 $0$。 此时已经过去了一个小时(此时的我以为难度和去年相当,T1橙/黄T2绿)。 吸取了去年死磕 T2 的教训,我决定先把后面的题目部分分拿了再来看 T2。 T3 是个……字符串?跳,有空来打暴力。 T4 感觉是个 DP,看了下特殊性质比较多,先打了 $n \le 10$ 的暴力搜索和 $n=m$ 的情况,得分 $+12pts$。 回到 T2,发现 $dis_{i,j} = \min\{a_{j,l}+a_{i,l}\}$,如果 $c_i = 0$,可以暴力计算,得分 $+28pts$。 然后开了 T3,理解了一下题意,不是我怎么不知道这个东西怎么字符串哈希! 想到了一个 $O(n^3)$ 的暴力,得分 $+10pts$。 看了看大样例……0 怎么这么多?于是: ```cpp if(n >= 1000){ while(q--){ cout << 0 <<'\n'; } } ``` “不可以,总司令!” 还剩下一个小时,目前得分 $162$,我还能做什么? 回到最可能拿分的 T2,$k$ 特别小? @Misserina 去年的 T3 好像是这么暴力的:使用二进制状态压缩,表示每个节点染上了什么颜色…… 诶!有了! 使用一个二进制集合表示 $k$,暴力最小生成树,总时间复杂度 $O(2^k m \log m)$! 不出意外可以通过 $m \le 100000$ 的数据,得分 $+10pts$。 再看 T4,$m=1$ 和特殊性质 A 看着非常可做,思考无果。 结束了吗……人生的最后一场 CSP-S。 还剩 20min。 检查。T1 没问题,T2 没问题。 先看 T4,也没问题。 最后是 T3,样例 1 正确,样例 2:……怎么有个 $1$? 还剩五分钟,怎么办? 背水一战!输出中间情况:原来是 coner case 挂了! 改一下:过了! 还剩两分钟,填写源程序字节表格,最后检查文操,下班。 ### 考后 人均切 T1?我蓝钩还有吗? @IntoTheDusk 和 @klnoier 等人场切 T2,让我们祝贺他们! @zent 估分 180,大蛇啊! 也有一些 T1 没有切的朋友,祝他们好运! 看了看大家估分基本在 $[150,220]$ 之间,看来如果不挂分,大众分就是稳的。 @IntoTheDusk 说 T2 只需要保留最小生成树上的边,没想到这个,想到了就有 $64pts$ 了,可能总分就有 $200$ 了。 已经开始了 ICPC 篇章的 @lizihan250 听说了 T3 是字符串,问了我题面之后做出了以下评价: > 已严肃丢给队友 预估难度:黄蓝紫黑 上谷,T1 是……绿? 我?20min?绿? 不可思议。 实际难度:绿蓝紫紫。估的差不多,反正紫和黑在我这里没区别就是了。 2= 应该有吧,没考我强项,这个成绩已经燃尽了。 不知道能不能运气好卡线 1=。 希望不要挂分。 ## 总结 这场如果不挂分对自己还是比较满意的,唯一的遗憾是没想到最小生成树上的边才有用,不然 T2 有 64 pts 了。 NOIP 继续加油! ## 考后 ### Day 1 做梦梦到 T2 的 ``solve1()`` 函数(实现是Kruskal函数)类型改成 ``int``(已经写了 ``#define int long long``)之后忘了把 ``k=0`` 的情况的 ``solve1()`` 改成 ``cout << solve1()``,可能痛失 16pts。 惊醒之后想了一下,忘了自己有没有写。 晚上来机房默写代码,T1 过了,T2 不想默写。 主要看看 T3 能不能过。 默写了一下: 发现 T3 ``q >= 1000`` 的时候考场特判”不可以,总司令“ 默写代码发现 ``q = 1000`` 的测试点可以通过,少了 $15pts$? 天啊我忘了我写的是 ``q >= 1000`` 还是 ``q > 1000`` 了啊!!! 如果因为这个没有 1- 或者 6 钩了我可能会很难过。 ## 出分 不想说话。 100+16+0+12 只配绿钩