CSP-J/S 2025 游记——与OI的最后一舞
背景
本人初三,今年上学期刚转学(SD->HB),遗憾地发现,区内没有有集训队的高中。
如果我没考上全市最好的高中的话,这将是我的最后一场CSP,也是我的最后一场OI。
当然,如果在今年的CSP中发挥不错的话,可能会为我的菜得不行的whk加一点分。
作为一个在去年连J组一等都没拿到的蒟蒻来说,这似乎是一件遥不可及的事。
不管是不是最后一场OI,发挥的又如何,可能也没关系了吧。
——写于2025/9/19
对自己的小目标:
- SSS:NOIP一等
- SS:NOIP二等
- S:NOIP三等
- A:进入NOIP D类体验选手
- B:CSP-S一等
- C:CSP-S二等
- D:CSP-J一等
- E:CSP-J二等
- F:考过CSP-J/S初赛
Day \(-42\)(CSP Round 1 Day)
上午打J组初赛。
进去感觉环境比SD不知道好多少倍,椅子和桌子是崭新的,上面还有空调 ,虽然现场温度十几度 。
开卷感觉没救了,在前几题上困了114514年,因为不知道什么是带权路径。
后面的题感觉还好,除了完善程序第二题感觉迷迷糊糊。(CSP-J什么时候还出交互题了?)
中午出来对答案,民间答案显示87pts,感觉考的不好。
小睡一会儿后进考场考S。
前15题感觉比较简单,20min就切掉了。
阅读程序T1很快就发现是枚举所有非递增排列的程序,遂切掉T1。
T2想了20min,发现是一个分块扔鸡蛋的题,块长是一个等差数列,于是也做出来了。
T3除了最后这个类似于双指针的东西,都能看懂,于是连蒙带猜写上了答案。
完善程序T1是个分层图+堆+Dijkstra模板题,秒了。
T2不会,把位运算的部分写了,剩下的蒙上去。
彩蛋:在考试前翻阅题面时,看见了阅读程序T2里的You have no egg!,于是悄悄骂了一句你才没有egg!开考一个小时,老师让我们把完善程序的T2里solve()变成solve(n,k),场上有偷笑声。考试结束前10分钟,老师过来改卷子,在main()函数后面加上int n,k;,考场内有了更大的笑声。
出来后对民间答案,发现自己拿了92pts,比J组还高,笑不活了。
Day \(-37\)
出成绩了,J组87,S组91,虽然S组神秘丢失1分,但是也晋级了。
打听了以前的学校,听说队里的情况很惨烈,X组的过了3个,J组的过了4个,S组过的一个没有,这里为他们默哀3秒钟。
Day \(-31\)
去市中心集训五天,每天自己坐地铁需要将近三个小时。
在集训队认识了许多省内顶尖学校的大佬,学到了许多tricks ,还学会了如何玩florr,下课时和队友组团打florr,florr真好玩。
集训时三次考试的题比较简单,我考得还不错,分别取到了rk5,rk14和rk3,还赚了40RMB奖金。
其实,CSP-S就是暴力大赛,如果你把每道题的暴力都写出来了,那么你肯定就能拿一等奖。
——@Kirinosama
Day \(-26\)
洛谷的S组模拟。我早就知道洛谷的所有模拟赛都很毒瘤难,所以已经做好了万全的心理准备。
下午两点开题,果然这样。T1写了50pts暴力,T2给我烧得焦头烂额,写了一个不稳定的乱搞。T3写了4pts,T4不会。
当我在洛谷上自测,发现T1因为数组越界挂掉30pts时,差点崩了。
晚上讲评时在课程评论区发泄情绪,被cz禁言了。
出成绩时,发现自己50+50+0+0=100,应该有一等,开心了。
总体来说,这场比赛对我造成的心理伤害,不亚于某年CSP-S的毒瘤题儒略日。
Day \(-20\)
集训,讲在考场上如何拿暴力分。
Day \(-16\sim -15\)
月考。
第一天考语文时写作文竟然把自己写哭了,第二天考数学时成功再次没写完试卷(15、23.(3)、24.(3)不会),考英语成功差点没写完作文,物理化学合卷还好,道法历史合卷考成了一坨。
Day \(-14\)
洛谷S组模拟赛。
上面已经说了,我已经对这次考试的难度做好了非常好的心理准备,只是希望自己能上100。
开题后20min发现T1竟然是签到题,大惊,遂用map+类似于懒标记的写法切掉T1。
T2看了30min才看懂题面,又想了30min发现了题目本质,但是又想了40min只想出来了B性质,也就这样了。
T3上面花了好久,本来想写A性质结果发现做法假了,写C性质也调不出来,感觉想重开了,最后成功爆零。
看题目的时候看见了一句熟悉的话:
对于第二组测试数据,我有一个绝佳的解释,但是这里空间太小写不下。
T4就扫了一眼,发现不会做,就没做了(石头剪刀布?)。
最后成绩 \(100+12+0+0=112\) ,没有挂分,看了一眼排行榜感觉应该有一等吧(?
最后总结帖发出来之后发现没一等了,唉,洛谷的比赛就是烦。
Day \(-13\)
集训&洛谷J组模拟赛。
一边听老师讲课一边打模拟赛,T1硬控了我20min,T2写了一个做法发现假了,又想了20min发现竟然是教练最喜欢的双指针,于是切掉了。T3一眼二分但是不会写满分,放弃了。T4没看,因为主要是想看一下这场比赛的难度。
分出了发现自己100+100+0+0=200,一分没挂,又看了T3和T4,感觉能拿40+20=60,一起加起来应该过一等线了。
Day \(-12\)
出成绩,英语、历史和化学都考挂了,总成绩不想说,最终斩获年级rk3。
Day \(-6\)
考试前一周,脑子非常乱,做了几道综合小题,晚上打了ABC。
ABC太令人崩溃了,切完三个题后发现D题细节特别多,调了半天才过样例,结果WA了2/32个点,此时还有20min,吃了6发罚时之后终于发现忘记特判了,最终在还剩1min的情况下冲了过去。还没高兴多久就发现,就算做出四道题也只有800+的Performance,唉,又掉Ratings了。
我发誓,我以后再也不打ABC了。
这里说句闲话,AtCoder的平均水平比洛谷高吗?感觉每次打ABC,和打洛谷的小月赛的排名率相差都很大,看来还是国外的牛人太强了。而且,好像越到现在,我的ABC排名越掉越低,这是什么原因?难道我降智了?
Day \(-5\)
去华中科技大学试机+模拟考。
这里的电脑比SD也是好了不知道多少,高清大屏,性能也不错。模拟考一共两个题,第一题非常难绷:

第二题也是个经典的贪心题,秒了。
考试30分钟后发大样例,更难绷了,第一题的两个样例水得不行,第二题的两个样例是完全一样的。
40min做完后写了一个1e3的Floyd测试本地性能,竟然在关闭stdio同步后600ms跑过去了(不开O2)。
最后放一张考点照片:

Day \(-4\sim -1\)
没有教练,没有指导,没有时间,没有集训。
考前最后一个周,遵循着whk第一,OI第二的原则,我不能请假。每天7:00上学,19:20放学,忍受着巨量的作业,直到21:30才有可能做完并开始复习,却依然选择坚持。
鲁迅说:
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便成了路。
我说:
走不通的路,就用拳头来打开!
不过幸好这个周刷模板题还算顺利,迅速切完了,不然真的不知道考前能不能复习完。
Day \(0\)
最后一天。
我刷了一些USACO铜组和力扣周赛的题找到信心,然后就看了一眼防爆零策略。
我简单地回顾了一下今年的OI经历:离开SD,然后被教练背刺,气愤之下报名洛谷算法进阶计划,努力做作业,日复一日的打比赛,直到,终于第一次VP CSP-S 拿到一等。
现在,这一天终于要来了,我将为她,我的OI,做出最后一次奋战,为了让这一次OI,不会成为我的最后一次OI。
加油。
Day \(1\)(CSP Round 2 Day)
早上6:00起床,坐一个半小时车到考场。
进入考场,解压完后先看T1。贪心+排序秒了。T2竟然是小模拟,也秒了。T经过3min的思考,发现可以先做一个前缀和,然后就变成了选两个端点的问题。然后,又发现假如说当前固定了一个右端点,那么贪心地选择最靠右的一个左端点肯定是不劣的。于是,这个题变成了一个简单的线性DP,猜出DP式后也过样例了。此时共用时1h。
T4发现是洛谷提高组秋令营模拟赛T1的加强加强版,于是想出了一个暴力的DP,复杂度 \(O(n\sum a_i)\) ,可以拿到高贵的80pts,我对这个分数很满意,于是1h实现完成后小睡了5min,想到了这个DP怎么优化掉一维。虽然这个优化对任何复杂度都没什么大用,但是对更高级的优化是很必要的。于是,我又花了30min实现了这个优化。现在,我的DP状态只有一维了。
后来,发现这个DP不需要算到 \(\sum a_i\) ,因为所有 \(>2\times\max a_i\) 的方案数一定是有效的。而且,设所有 \(>2\times\max a_i\) 的方案数为 \(k\) ,容易发现在一次转移后, \(k \leftarrow 2k+\text{在这次转移中从原背包转移到背包容量之外的方案数}\) 。于是,这道题被我在考试结束前10min做出来了。
回来后在洛谷讨论区里发现这道题可以容斥,恍然大悟。
上午预估成绩: \(100+100+100+100=400\) 。
下午打-S。
开题发现四道题感觉没一道是签到题,浏览了一遍发现 \(20+100+25+8=153\) ,完全不够,于是死磕T1。
过了一会儿想到了一个比较不靠谱的反悔贪心+堆的做法,1.5h编码+调错竟然过大样例了。
看T2。容易发现暴力枚举改造的村庄+最小生成树,结果写完了发现复杂度假了,只能拿64分。于是我安慰自己,说CCF的评测机很强的。这道题用时1h。
翻到T3时本来想写字符串哈希的,但是写完后发现做法假了,这里警示后人:
字符串哈希不能进行前缀和操作。
由于这个做法用时太长了,我在发现做法假了之后之间看T4了。这道题看特殊性质都没有思路,于是写了 \(O(n!)\) 的大暴力。
这道题比较顺利,所以写完后还有30min。最后回到T3,写了一个10pts的string模拟,最后在结束前写过了。
预计得分 \(100+64+10+8=182\) 。
考完了和旁边的同学交流,都说T1是普通的贪心,把我吓出了一身冷汗。
晚上回来默写S组代码,发现T1T2都没挂分,T3T4就没测了。
Day \(2\)
上午写作业,作业巨多。
下午默写了一遍J组T3T4代码,发现AC了,就不管了。
然后又VP了去年的NOIP,拿了 \(60+15+4+0=79\) ,竟然有省三。
Day \(6\)
CSP出分日。
惊喜地发现J组 \(100+100+100+100=400\) ,S组 \(100+72+30+8=210\) ,JS都没挂分,而且S组还多了 \(28\) 分,而且全省前50,有望7级勾,开心到起飞了。
写在后面的话
回望过去的一年,我感觉我是幸运的。我在没有教练的帮助下,仍然拿到了不错的成绩 ,也打了背刺我的教练的脸。我在whk的压力下,没有放弃OI,OI也没有放弃我。总体来说,这次比赛为我初中的OI生涯画上了一个比较完美的句号。
OI,感谢你在初中四年,一直陪伴着我,让我在繁忙的课业之中找到了一种娱乐的方式。
同时,我也要感谢我的信息老师,感谢他在SD给我的帮助和支持;感谢洛谷进阶算法计划和HB的集训队,帮我拿到这样的成绩。
在我初中的OI生涯中,还有很多人给过我帮助,这里一一对他们表示感谢,感谢你们,一起帮我走到了现在。
以前集训队的教练和队员们,祝你们明年再接再厉,AK CSP。
接下来,在NOIP体验过后,我将全心全意投入whk,为我心爱的OI而战。
中考,加油!

浙公网安备 33010602011771号