CSP-S 2025 游记
Yoimiya_miii
·
·
生活·游记
记号与约定
下文如果无特殊说明,用“龙”指代“唐”。
前言
我是一个初二开始接触 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
只配绿钩