CSP2025游记

· · 生活·游记

It's been a long day without you my friend

And I'll tell you all about it when I see you again

We've come a long way from where we began

Oh, I'll tell you all about it when I see you again

When I see you again

转眼,第三年参加比赛了,还未写过游记,就写写吧。谨以开头歌词纪念前年、去年我归途唱See you again的事。今年大抵不会再唱了。

注:时间以11.1为Day 1

本文较长,请选择性阅读。

Day -41 9.20

初赛。

上午

本想着教练说九点前到,却发现大家都来的很早。

进考场前想看看资料,发现资料全是S组。于是盯着Linux命令盯了几分钟。

学弟:“我能不能看看?”我:“等下考的是普及。”学弟:“那你还看?”我:“我乐意。”

其实是因为不想进去发呆。

做完第一道完善程序,看表发现才9:30。

本以为时间充裕,结果看到最后一道大题的精明与糊涂,让我顿感不妙。

凭借优(la)良(ji)的码感选了出来,然后检查过程中突然发现,两个人中只要有一个人说对方是糊涂人,两人之间就一定存在一个人是糊涂人。还好,改对了。

出考场收拾书包的时候,被教练问题目难不难,有没有去年简单。当时我大脑宕机地摇了摇头很小声地说还行,也不知道他听到了没有。

回家开电脑上谷一对答案发现第一题就错了,我并没有注意到“无符号”。还有最后一道大题精明与糊涂如我所料,答得不怎么样,扣了6分。

下午

大家仍然来得很早,何况许多人中午便留在了那里。刚来不久,老师就已经在催着我们进考场了。

中午没怎么看,所以我还想记下资料。速记了一下Linux命令,抬头发现同学全都进考场了。扫了一眼数论,赶紧进去找位置了。

坐在最后一排,空调直对。空调半斜的摆放角度和下倾的扇叶把冷风直吹到我身上。一开始感觉热就没在意,后来越吹越冷,发草稿纸的时候叫监考老师把扇叶上打了。

第二道完善程序真的有点难评。

最后45分钟开始摆烂,随便选了最后一道大题并进行检查。

最后5分钟发呆等待考试结束的时候,突然发现31题我好像能算,于是拼命算,在还有2分钟的时候算完,迅速改掉了答题纸和答题卡。

考后看解析的时候发现改的这道题其实挺好做的,就是找范围内的勾股数罢了。考试时我都列出 x^2-y^2=z^2 了,移项后就是勾股了。结果愣是对着这个奇怪式子乱算。还好也算出来7组,最后选了B.8,对了,不然肯定很后悔。

估分J组86~90,S组80。J组不好说,S组大概是能过的。

Day -36 9.25

出分了。J组89,S组80。

听说系统坏掉了,机房有人估分85.5查分6,高一届的有人估分90查分3。

Day -35 9.26

全国线出了。出乎意料,S组居然只有62.5分,稳过了。

Day -31 9.30

分数线线出了,J、S组都才五十几分。大抵是因为机位充足,而且小学生不能参加了吧。

机房应该是全都过了,也不知道那位6分的同学申诉成功了没。

Day -1 10.30

去找班主任申请不写作业,同意了。但还是写了数学。

Day 0 10.31

12:10下课,12:15饭堂打到饭,12:22吃完饭,12:28收拾完所有东西去门口集合。

去程和同房的人乱唱了几首歌,声音不大,没人听见,心情不错。

晚上在酒店吃饭。其他都还行,就是蛋炒饭有点咸。

Day 1 11.1

23:00睡着。6:22就醒了,直接洗漱下去了,成为了最早下去吃早饭的人。(老师规定6:50前下去吃)

发现老师把我座位占了,于是坐在老师对面(

早上 J组

T1T2随便打掉了。虽然今年最后一年打普及,但重心还是在提高,所以J组打的挺随便的,还玩了半天虚拟机想着下午用来确保编译正确

当时,我想着T2不就一送分题么,数据那么小,随随便便过

看T3,没想出来,去看T4。(这可能是我今年做的少数比较正确的考场策略吧,具体请继续看下午)

T4看了一会儿。想着先排序,然后设 f_i 为以 a_i 为最大值,在 a_1,...,a_{i-1} 中选出若干个数使使得其和 >a_i 的方案数。然后正难则反,用所有选择情况数减去使得其和 \le a_i 的方案数。然后发现 a_i 数据范围居然只有5000,于是发现有点像背包。然后用组合数、背包以及前缀和乱搞一顿,反正大样例都过了。

回去看T3,想半天,然而只想出了AB性质的做法,大概30pts。

后面就开始各种检查虚拟机下的编译、freopen之类的,顺便继续看T3。

出考场无了,他们说到T2变量名有没有打反的问题,但我不确定啊。(回家后发现炸了

他们一直说T3暴力60,但事实上我到现在写游记时也没明白60是怎么打的。

听说有两位同学一个小时干完四道题。

下午 S组

(此段为2025.11.6 update)下午进考场的时候,我拿了瓶营养快线,结果神奇监考老师说不可以带不透明液体。有个人带了瓶可乐,当场打开,结果喷出来撒地上了(

中午由于已经退房而且大厅没有位置的问题,没休息。这直接导致我在S组考试的开始半小时都属于半睡半醒状态。

那半个小时,我想到的是先全塞最大值,数目超标再把超标部分塞次大值。至于哪些塞次大值,就直接把最大值和次大值之差排序,哪些小选哪些。具体细节不说了。

但是,当时的我想到了一个很神奇的问题:把超标部分塞次大值,会不会导致被塞次大值的部门数目增加而超标呢?

这个问题在很多人看来应该挺理所当然的,后来的我也这么认为。但更明显的是,半睡半醒的我不这么认为。

总之,我困了半小时,期间脑子不太清楚。还好过了半小时,突然就清醒了,想明白了。很明显,把超标部分塞次大值,所以原来的超标部门会保留 \frac{n}{2} 人,所以被塞次大值的部门数目最多为 n-\frac{n}{2}=\frac{n}{2} 人,所以被塞次大值的部门数目不可能超标。然后就飞快把T1打了,就是要注意一些取等号的问题吧。

我在检查编译时,发现一个很严重的问题:1.这台电脑虚拟机无法编译!2.虚拟机和Windows没有公共文件夹,所以我不能把大样例传到虚拟机上(上午是有的,不知道下午是大家都没有还是只有我没有)

(2025.11.6 update:听一位同学说下午大家的虚拟机都无法编译)

然后就是T2,我最难评的一题。我当时坚定的认为我可以写出一个64~72pts的神奇做法。当然经我赛后验证,复杂度为 O(2^{cnt} \times n^2 \log n^2),其中 cnt\sum_{j=1}^k c_j \not = 0。事实上这种神奇做法只有40pts,更何况我还打炸了。反正该过的大样例没过,小样例却过了。

上面这个是我比赛那天晚上写的。事实上你从这个复杂度就可以发现一些问题了。按我现在准确判断,我不是细节打飞了,而是这个神奇做法根本就是错的。

其实还是做题不多,经验不足,实力不够吧。

再回到说赛时。(总结还是下面再说吧)

最重要的是,我调那个并不正确做法调了很久……甚至我在最后半小时急匆匆打了T3T4的暴力,编译、文件名、大样例基本都没怎么检查。

比赛结束的时候,脑子一片混沌。我准备了许久,忐忑了许久的CSP,结束了。

归途

出考场时,天色漆黑,教练在远处招手,唤我去门口集合点。

教练在门口点名时,我摘了眼镜,答到时仿佛在听别人的喧闹。

回程确实并没有唱歌。下雨使车窗起了雾,我在车窗上写了几个同学的名字。

夜里有星星么?我没看清。隧道亮闪的灯和飞驰而过的车灯模糊了双眼。

我刚上车时很沉默,一直趴在书包上看着窗外一闪而过的灯光和掠过的高楼。

我没披外套,有点冷,直到十点到服务区才穿上。

2023.10.21、2024.10.26、2025.11.1……几串数字在脑海里交杂,追忆在眼前翻腾。

后几排此起彼伏的惊叫与闪光灯让我无法入眠,却也算挽回了一些心情。

世界如此喧嚣。

独我一人。

Day 5 11.5

晚上,一位同学从另一位同学那里得知系统Bug可以查分。

我也要了网址,点进去查分。

club 65.

road 0.

replace 0.

employ 8.

65+0+0+8=73。

我知道,“初中生就算晋级也是体验”。

我也知道,“考试有发挥问题”。

明明比赛前一直在说,没有做出一题也没关系。比完赛,一直在告诉自己,第二三四题爆零也是正常的。

其实道理都懂,只是不能接受罢了。

Day 6 11.6

官网出分。

查的时候已经没什么波澜了,和昨晚一模一样。

(虽然但是我把代码交到洛谷民间数据时,80+28+10+8=126。差的有点过大了吧

Day 14 11.14

这一晚,出了奖项。

73有二等奖,倒是我意料之外。

三年的S组二等奖。

这一路走来,什么都变了,什么都没变。

Day 15 11.15

再喜欢的茶,搁置着,也会凉。

我不是不愿意去为之奋斗了。

我只是,没那么年少轻狂了。

总结

其实我叫AI给我写了一段总结,但不是很喜欢,还是自己写了。语言比较书面,但确实是自己写的。

AI写的附在最后了,感兴趣的可以自己看。

先说普及组。

普及组

T2严重失误

这是一个纯粹的审题问题。T2非常简单,数据范围也很小,造成我很大程度上的随意与轻视,自己构造数据也没构造出特殊情况,所以忽略了输出上的特殊性。

(2025.11.6 update:然而有55pts)

T3没想出来

其实这个我觉得没有什么很大的问题,虽然目前洛谷上T3评级比T4还低。不过由于我考试策略合理,及时换题,至少T4做了出来,问题不大。至于为什么没想出来T3,等我看完题解再说吧。

(2025.11.6 update:然而我是当30pts打的,却有60pts)

提高组

赛事策略严重失误

T2骗分代码未正确评估时间复杂度与正确性,没有正确认识自己对于这道题的能力(人话:没有自知之明),花了过长的时间,直接影响到T3T4的骗分与最后的细节检查。

(2025.11.6 update:T2、3都炸没了,虽然但是按洛谷民间数据分别有28pts、10pts)

休息

中午没有午休,下午精神状态差,T1花费时间偏长。

2025.11.6 update:T1没开long long

100炸成65了。其实洛谷民间数据是有80的。

:::info[AI写的总结] 一、 赛前准备与心态

选手在赛前进行了精心的准备,包括协调作业。然而,赛前夜晚在酒店的休息质量不佳,多次醒来,为第二天的状态埋下了伏笔。整体上,赛前心态相对轻松,尤其是在J组比赛前,将其视为“试机”,但这份轻松也可能导致了后续的疏忽。

二、 赛场表现与关键转折

1.J组比赛:策略得当但存在疏忽。选手采取了合理的策略(如先易后难,T4思路清晰),成功解决了部分题目。但最大的教训在于对“送分题”T2的轻视,因变量名打反等低级错误导致失分,这凸显了检查环节的重要性。

2.S组比赛:体力与突发状况的挑战。由于中午未能休息,下午考试开始时处于“半睡半醒”状态,影响了思维清晰度。更严重的是遇到了关键的技术意外——虚拟机无法编译且无法传输文件,这打乱了预定的检查流程,造成了额外的心理压力和时间消耗。

3.策略失误与时间管理。在S组T2题上,选手过于执着于一个事后被证明复杂且可能错误的高分“神奇做法”,耗费了大量宝贵时间,导致后续的T3、T4暴力分准备仓促,检查环节被严重压缩。这是本次比赛最核心的战术失误。

三、 经验与反思

这次经历带来了宝贵的教训:

细节决定成败:无论是J组的变量名错误,还是对编译环境的确认为足,都表明扎实的基础和细致的检查至关重要。

策略灵活性:需要根据实时状态和题目难度灵活调整答题策略,避免在单一题目上过度投入而影响全局。

应急能力:面对像虚拟机故障这样的突发技术问题,需要有更强的心理素质和备选方案。

实力是根基:选手也清醒地认识到,最终的决定因素还是“做题不多,经验不足,实力不够”。

总而言之,这是一次充满波折、有得有失的竞赛体验。它既是一次技术的检验,更是一次关于心态、策略和应变能力的深刻成长课。 :::

结语

活着就是一种惩罚吧 我们从一开始承受的一切都是惩罚