背水一战:CSP-S2025 游记
\(\text{Day -inf}\)
写在前面。
这是一场我整个生涯难忘的 CSP 收官战,也是我目前整个生涯打过的唯一一次绝杀。
写这篇游记的时候时间不是很充裕,就先写复赛部分,初赛以后有时间会补,先给自己把坑挖上。
\(\text{Day -2~0}\)
这几天 whk 还是比较忙的,高三老登还要复习 10 号名校联盟,所以尽量压缩时间晚自习抽空看看以前写的笔记、算法板子之类的。
周四详细复习了 kruskal 并查集路径压缩,寄希望于周六会考。
考前一天上完晚课就回家了,开始无脑乱敲板子。
\(\text{Day 1}\)
早上起得比较早,接着敲板子(其实是麻木了除了敲板子不知道干啥了。中午十一点左右出发去到考场,路上看到数竞出成绩,依旧前排二等。
到了考场开始招笑了,排队一直卡在门外不让进去,于是开始水 LA 群,结果看到 cz 说辽宁上午 J 组收代码的时候把 seat 设置成 set 了,导致全省的代码都没收上来,现在在疯狂补救所以比赛要延时了,草台班子这一块。和 @yeyou26 老哥聊天,说自己一会不行进去先睡 2h,反正 LN 有分即可进 NOIP。
无聊在 pyq 里挂了预言:希望 A 是和去年一样水的签到题,B 来个部分分给足的大模拟,CD 来一道好想的图论,不要考字符串,不要考恶心的数论。
突然想起自己字符串哈希很久没看了,翻了一翻,虽然不想做字符串就是了。
14:42,终于进了考场,结果刚坐下准备敲板子告知就延时 15 分钟到 18:45,板子根本来不及敲啊兄弟。于是 2 分钟先敲了一个 dijkstra。
\(\text{1min}\),发完密码刚开始考就听到后面小孩大喊没断网,还有小孩喊能打开 Deepseek,辽竞委今年纯纯草台班子了,连断网都能忘也是没谁了。
开始先看题,A 题面很短,一看就是某种神秘贪心。很久没做题了(上次做题是 3 月份 NOI 联合省选)不确定自己还搞不搞得出来很难的贪心,于是没有着急下手,反正 LN 有分就能进 NOIP。
看到 B,翻来覆去求 mst,今年图论题放的好早。一看 \(k=0\) 有 \(16\) 分的纯 mst 板子,那很送了。
看到 C,怎么是字符串。印象中 CSP 很多年没考串了,这下完蛋了。D 是神秘题目,看了一眼就先扔了。
\(\text{26min}\),评估完题目后直接决定先去敲 B 的 mst 板子,因为纯送。一发 kruskal 直接拿下 \(16\) 分。然后简单看了看特殊性质,直觉告诉我好像直接把所有乡村建进图里就行了,但是又疑惑好像会有不选乡村的情况。没有贸然下手。
\(\text{57min}\),回去看 A,发现按人贪心和按社团贪心都显而易见有反例。没往深了想,先写了一发三进制枚举,反正留着后面对拍也要用,此时写了 A 题 \(20\) 分。
靠,怎么一个小时过去才 \(36\) 分啊。退步好大。记得去年同期已经 \(140\) 左右了吧。
\(\text{1h11min}\),补了 A 题的特殊性质 A,这个直接随便正着排序选一半即可。此时 A 题 \(25\) 分。
看了 C,感觉不太好写,于是先跑去 D 看看有没有能写的分,发现有一档 \(n\leq 10\),直接想到 next_permutation 枚举全排列。很快写完,但是第二个大样例一直差几万多。不知道哪里错了,调了将近半个点给自己调红温了,上厕所也无果。
\(\text{1h49min}\),终于发现每次 while 进来的时候重新排序后员工的耐心值不是初始值,而是我上一次排序剩下的。这么智障的错误跟多测没清空没什么区别,改完之后就过了第二个大样例,此时 D 题期望得分 \(8\) 分。
这都拿的什么小破分啊。感觉上半程打得很烂,一阵子没写代码果然码力还是下降了许多吗。
回去写 C,感觉正常暴力只能拿到第一档分,于是准备硬搞哈希优化暴力,复杂度应该可以降到 \(O(nqlen)\),码板子用了一些时间,哈希 base 值选了 233。
\(\text{2h37min}\),过了超级小样例,发现没有大样例,自己手玩了几组感觉没啥问题,此时 C 题期望得分 \(25\) 分。
这时候已经有些想摆了。打了这么久一看得分 \(25+16+25+8=74\),还不一定都不挂分。
\(\text{3h01min}\),距离收卷只剩一个小时了。回去莽了一手 B 一开始那个想法,把乡村和图中的每个节点都连接加到图里直接跑 mst,想了半天还真没有反例。不是很懂,但是可能 B 题现在有 \(48\) 分了(?),我对于这部分的分并没有把握。
好像能上三位数。要不摆了吧。其实到现在都没有好好思考 A 的正解。
开始在四道题中随机游走,看看有没有漏的分 & check freopen。
\(\text{3h47min}\),本来已经开摆了,结果上了个厕所突然间有了个 idea,A 好像可以按差直接贪心,想了几个都是对的,但是就剩 13 分钟了,这哪里写得完?不管了不管了,写吧,哥们就是莽。
\(\text{3h56min}\),还真让我写完了,结果一测大样例全错。完蛋。又准备摆。结果突然想到取值的时候应该是取差值 max 中的 min,而不是 max 中的 max!开始改代码,这个时候手已经抖得厉害了,急急急我是吉吉国王。
\(\text{3h59min}\),赶紧测了大样例 3 和 4,不敢测 5 了因为马上收卷,但是 3 和 4 都对了。
\(\text{4h}\),监考喊收卷的同时改完 freopen。一秒都没有多剩。
出考场我整个人都是抖的,其实这场的结果并没有那么重要,但是实在是太惊险了,从来没有这么有意思过。
打开谷群看到了 A 一样的贪心做法,晚上吃饭的时候和 zmq 聊天,发现 B 我的建图方式并没有问题,不用的乡村建在图里当叶子节点也可以。
发现自己考前的预言一条都没中。无敌了。
期望得分:\(100+48+25+8=181\)。
晚上发现 A 自己的写法不加 else 能过大样例但是会炸。我是真想不起来自己加没加了,只能听天由命。
\(\text{Day 2}\)
复写了所有代码,默认 A 自己加了 else,民间数据:
- 洛谷:\(100+48+25+8=181\)。
- 云斗:\(100+48+60+8=216\)。
- 核桃:\(100+48+25+8=181\)。
- 梦熊:\(100+48+45+8=201\)。
有些地方 C 的数据还是水了。
\(\text{Day 5}\)
提前发分。卡申诉 bug 查到了成绩。
\(100+48+25+8=181\)。还是比较幸运的。
xtl 上看省排名 \(29/585\),这轮稳一等,成绩也还蛮好看的,运气比较好。
可能擦线没有 7 勾,不过没关系,7 勾乃身外之物。
NOIP 加油。
游记比较草率,写的很着急,以后有机会补一补细节。完结撒花。

浙公网安备 33010602011771号