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而战。

中考,加油!

posted @ 2025-12-22 20:47  lowtune  阅读(0)  评论(0)    收藏  举报