CSP 2025游记

· · 生活·游记

前言

1.本文章节选自《Danny手帐》,有删改

2.这次的比赛确实有前所未有的感受,但我初赛时没有及时记下来,所以只能参考我的手帐来写了(手帐就是一种类似日记的东西,只不过形式比日记更灵活,比如可以自己画一些表情包)

3.今年SD -J和-S都可以报,所以内容应该会比较全面

4.本文为时间顺序,但因为我语文110的能力,语言表达能力可能欠缺,所以只能写流水账了qwq

正文

2025.7.28~2025.8.9

这一段时间,emm,可以说是“秘密”集训,是我第1次加入这个大家庭,我融入的挺好的,我也为之高兴

在这一段时间,我感觉学的比我这几年学的还要多、还要有用,特别是并查集、树状数组、dp这些提高组的知识(此处伏笔)我自信学的很好了,以至于对CSP-J2025的比赛

2025.9.20

这一天是CSP-J&S2025 初赛的时间,虽然我准备的不算太差,但是我非常的紧张,因为我的家长发话说如果我过不了初赛,就不让我用电脑了。[doge]

CSP-J 2025第一轮认证

这次考场是在八中,许多同学都在这里上学,我看了一圈儿,挺好的(我怎么看哪一个学校都比我的好啊,是不是错觉,嗯,一定是的)。

在开始前,我看到了和我一个学校的同学,我们在考场外面聊了一会儿,感觉不是那么紧张了。

在去年-J初赛,我错了第一题,所以我就把int的范围背了下来:[-2147483648,2147483648),所以……

我看到了第一题,32位……整数……那不就是int吗?这次我不会再错了!想着,我就潇洒的写下了一个大大的“B”,内心窃喜。

-J的题感觉上不算太难,但是为了防止算错,我用了整整半个小时做前面的15个选择题,不过最后好歹还是写完了。

出来第一件事,去找到同学对答案,

结果发现第一个题是“32位 无符号 整数”,答案应该选D……

沉默了……

CSP-S 2025第一轮认证

下午的话感觉有点紧张,因为我平常的-S测试都是30分左右的,怕考不到分数线。

这次开始前,我碰到了现在上了高一的同学lzx,畅聊了高中的生活(别说,确实有点紧张(我指的是高中生活))。

开始了!这次一开始还是有点难度的,15道选择有4道纯考数据结构,这些题我也只能蒙上答案(因为我这只小蒟蒻只会并查集和树状数组)什么KMP啊,kruskal呀,manacher哪,只能过了。

阅读程序感觉还行,对那个“You have no egg!”的那个题比较熟悉,就是一种扔蛋谜题,一共给2个蛋,要在2个蛋都碎之前找到它最高在哪一层扔不会碎,还有“查找x^3+y^3=z^3的三元组\{x,y,z\}的个数”,我突然想到了费马大定理,正好可以用来证伪这个选项。我有点庆幸我的数学知识面比较广。

当时做到完善程序时都快懵了,最后那个题给了一个非常抽象的生成函数,已经理解不了了,好歹看看有哪个能做上的先做上吧。

刚涂完我的答题卡(此时已经快结束了),监考老师来改题了,还好,改的是传参的错误,不是什么大问题,不需要重做。我暂时松了一口气。

开始发呆吧!但是监考老师又来改题了,我看了看时间,还剩1分钟,这次不会挂吧?

等到监考老师写完了之后,我戴上眼镜看了一眼,“int……?什么玩意儿?”我又看了看试卷,确实,少了一行“int n,k;”,我忍俊不禁地笑了,但是我可能是太紧张了,以至于我都没看见它漏了个分号……

总结

晚上我看了一下成绩,行,-J80多,-S70多,都过了!我的电脑保住了![doge]

2025.10.1~2025.10.10

这10天挺好,打打比赛,做做题,找找手感,顺便还躲过了学校的月考……[doge]

2025.10.30

又集中康复训练,信心涨了不少 (当然,更多的是不上课的快感) 。

2025.10.31

这一天下午,我跟着我们学校组织的团队来到了日照,但是好像也没多热,算了,不管了。

晚上去试机,我坐在车里,望着外面匆匆略过的一排排树,听着内燃机“哐当哐当”的声音,不知为何,越发紧张起来。考场那里有个坡,我感觉非常难爬,不知道是2025.10.29跳蛙跳跳的,还是晚上冻的……

先是-J的试机,我迟到了10min,所以就匆忙地建了子文件夹,写了一个二分模板,测试freopen和fc就结束了,结果没有什么问题。

然后是-S的试机,我建了子文件夹,写了一个线段树模板,测试freopen没问题,但是fc的时候出现了我在家里用我的win7小电脑出的问题,它不比对文件,而是死循环了,关掉时屏幕上甚至还出现了几个“^C”说明它卡了!那没办法,我计划-S就不用fc了。

这次-S还模拟了一下下发文件,emm……我回去之后跟zcr说了,他说是去年的NOIP真题(伏笔)

晚上,zcr告诉我如何用内置的cmd打开fc,emm……好像会了。我看zcr打了一会儿-S的模板就睡着了。

2025.11.1!

早上用zcr的电脑打了个卡,匆忙地吃过早饭,出发咯!

CSP-J 2025第二轮认证

考场那里的坡更难爬了,是不是有人把坡调陡了???

看着乌压压的人群,我又紧张了起来。我感觉现在我就像

一样孤立无援。

8:00~8:29(准备阶段

进到考场后,先深呼吸,再去上个厕所,看见其他同学都开始打代码了,监考老师不是说比赛开始前不允许动电脑吗?算了吧。

完蛋了,我发现这台电脑用不了fc,用cmd也会卡住,用不了了……

8:30~10:00(一阶段

很快啊,T1是字符串操作,我直接拿map标记一下,再倒序输出不就行了嘛。但是我考虑复杂了,加上没读题,数据保证“一定会出现至少一个1~9的数字”,我还判了只有0的特殊情况,傻了……

T2是模拟,我是先拿map来init每个位置对应的行和列,再sort,二分找位置,再输出位置对应map的标记。lower_bound好像搜不了严格单调递减数列吧,所以我手搓了一个二分。但是又没读题,题目要求输出列和行(题干上还特别加粗了,我眼真瞎),导致我的第一个样例是反着的,又改了一下,测了下大样例,就过了。

10:01~10:45(二阶段

T3这里我卡住了,因为我好像不知道如何O(nlogn)过这个题,于是我写了一个O(n^2logn)的小暴力(双指针+map标记),结果发现在数据完全随机的情况下,平均时间复杂度为O(nlog^2n),吓得我以为写出了正解,赶紧把map改成了unordered_map,就能O(nlogn)了。但是我又思考了一会儿,发现当ans=0(输出为0)时,代码会跑满O(n^2),不过这样应该能骗到60分吧,因为下发的大样例我都过了。我只能这样安慰自己了,因为后面还有T4呢。

10:50~11:55(三阶段

T4不是很会,小木棍能否拼成多边形吗?我一开始是有点思路的,但是我把我的思路证伪了,抓紧时间去想暴力怎么打。

想写dfs,但它跑炸了,没办法,只好打n=3和a_i=1的特殊性质了。

后来我盯上了n\le10的数据,这好像可以打表吧!

打了一下n=4和n=5的数据,发现有一个规律,但是没有时间了!距离结束还有5min,那就检查一下子文件夹吧,千万要打开freopen,只留下.cpp文件。操作完成后,我就开始发呆了。

中午休息

今中午我把我们的题和我的情况说给和我一起去的考-S的同学们,zcr说我考的挺好。

我们就近找了一个小餐馆,我点了一份水饺,但是不得不说,这个速度实在太慢了,大约13:15才吃上。这途中有一个突发事件,还挺好玩的。

我正吃着水饺,这时zcr突然指着我的盘子大声说:“bì!bì!bì!”我一抬头,发现有一只蜜蜂正在我的面前飞!我吓了一跳(真的跳起来了),我对面的zjc也一下跳了起来,还把他买的咖啡碰倒了,有一部分咖啡就留在了盘子里。然后,那只“bee”就围在我的盘子面前不走了。老师说它喜欢吃甜的东西。不过,幸运的是,它一会儿飞走了,我连忙把剩下的水饺吃了(别说,水饺蘸咖啡还不错)

吃完之后,也没时间睡觉了,我们还想去考场上厕所,所以1:30左右就出发了。

要微笑着走向考场!我们决不投降!

CSP-S 2025第二轮认证

不行,那个坡又变陡了,我都快爬不上去了!

在考场外等候上厕所时,zcr说今天是万圣节,出题人会给我们发糖(福利)的,一定是四个红题!我们都已经规划好了时间:10min切T1,50min切T2,2h切T3,剩下1h打T4暴力。

希望事尽如人意吧。

14:00~14:29(准备阶段

进入教学楼第一件事,冲向厕所!

这次我不再这么干坐着了,我打了一会儿线段树模板,打到一半,监考老师还问我这是我打的还是电脑上留下的。(?)

这次这台电脑又可以使用fc了(但是我也不需要了)

别说,这次出现了情况,有的同学(包括我)电脑的D盘没有初始化,于是按照指令,我把所有文件都删掉了。

14:30~16:30(一阶段

打开下发文件先看T1。我一下就有了思路:这不是贪心吗?我连忙在草稿纸上推演贪心策略:先放权值最大的,当某一个数量多于\displaystyle\frac{n}{2}的时候再考虑改动每一个人对答案的贡献(但是是负的),取最大的贡献值就行了!一看就是橙!

于是开始代码实现。到15:30时代码打出来了,但是简直太复杂了(一堆vector、map之类的),以至于我打算如果样例测出来没问题就不管了,样例测出来有问题就受着~(重构代码)

当然,前面几个样例把我的代码已经调的很好了,但是,当来到第4个样例时,有一个答案是错的!!!我本来想就这样吧,应该能骗不少分,但是有一件很恐怖的事情,它!是!多!组!!!bushi我不是故意的

思考了一会儿之后,果断重构!到16:00时写出来第二套代码,这套就简练多了,是一个很香的O(nlogn)代码,而且优化瓶颈在sort上。但是测到第4个样例时,这段代码给出了和刚才的代码一样的答案!

此时,我的内心在拼命地挣扎。我要不要先做后面的题啊?但是思考片刻之后,我决定了!先把这个题改完再说。

终于,在16:30左右时,我改出来了!我把所有的\le号全写成<号了,导致在出现最大值为2个相同数字时,它会认为第三个数字是最大的。我长舒了一口气,但是,我把这个题存到子文件夹时,一看屏幕右下角,什么鬼?先过去2h了???

16:31~18:30(二阶段

没错,因为第一个题用了我2h时间,所以只剩2个阶段了。

转头看向第二题,图论?看着好像分层图的样子,但是我不会写……找特殊性质吧,结果写着写着,发现,我的并查集模板……忘了……

???这还能忘吗?????我在内心痛斥自己,你昨天晚上干的什么啊???

算了算了,看向第三题,字符串操作,不会,看向第四题。这里面有一些特殊性质和小范围数据可以一打,打了打,感觉可以。

转头又看向第三题,想打一下小范围数据的,结果,时间到了,代码调不出来了,不做了!

时间到了,开始发呆(我甚至都没有吃一口东西)。

晚上回家

没想到去的4个同学(加上我)只有2个同学做出来了T1,看来这次小有难度。有一个高二的同学说他这次已经没戏了,回去也只能学whk了。

经过我们在车上的探讨,这次难度非常大,讨论结果如下: |T1|T2|T3|T4| |:---:|:---:|:---:|:---:| |绿|蓝|紫|黑| |贪心|分层图|AC自动机|很逆天的DP|

zcr说去年的NOIP是绿蓝紫紫,这个难度已经可以和它比肩了。(事实证明,除T4为紫外,其余各题都猜对了)

搁这提前体验NOIP了呗。

总结

唉~这次-J的分数线可能会升到300+,-S又那么难,看样子是完了,但是还是要振作起来嘛!今年不行,明年再战就行了!现在就是坐等成绩的紧张时刻了。

回到家犇炸了,好多同学都在讨论这一次的题(或分数),我也跟着掺和了几句。

CSP-J&S 2025 任务完成!

完结撒花!