CSP-S 2025 游记

· · 个人记录

总而言之,这是一场惨败。从解压题目到查分,每一个细节都彰显我的失误。

100 + 96 + 60 + 44 = 300

赛场策略

T1 T2 十分钟读题,十秒钟想出做法,跳到 T3。

T3 看到类似多模匹配,每次能且只能替换一对 s,联想到 AC 自动机 fail 树转 dfn 序上二维数点。

花了 5min 完善细节,发现有一个倍增的 log,不是很有信心过 5e6。

阅读 T4,类似神秘计数,开始考虑对值域计数,未有进展。

此时开始写 T1 T2,过完大样例并测 RE/UB,时间来到 1.5h。

T3 再次检查算法框架,发现 L \log L L \times \Sigma 大小相似,断言不构成瓶颈。

先写了暴力验证读题,随后开冲。大概不到 1h 首次过编,并通过大样例。

开始测极限数据,发现 8s+,有点透心凉。

去洗手间冷静了一下,回来先写了 T4 阶乘暴力。

测 T4 大样例时突然意识到 T3 sanitize 没关,重测后 4s。

这时觉得 T3 可能有希望,于是寻找瓶颈,发现是倍增导致大量 cache miss。

冥想 10min 后突然想到 tarjan 有一个 O(m\alpha(n)) 离线查询 LCA 状物,可以 \alpha\log,并套计数排序。

30min 大概写完,测了极限数据 2.2s,平均 1.5s。

感觉今年机子应该挺快,而且我也没什么方法卡常了,于是快进到 T4。

沿用值域思路成功想到 A 性质做法,光速写加调通过大样例 3,此时距离离场 30min。

意识到我可能想不出 T4 正解了,开始拼分,最后拿到 44。

再去测 T3 极限数据,并未发现异常。

出场后听见 T3 有简单多模匹配做法,略有遗憾,终究是再犯了 NOIP2024 T4 的错误。

赛后

看到 T4 出题人在洛谷发了题解,看到 DP 状态设计后 10min 就想出怎么转移。看讨论区有人发原题,仔细观察发现已经在我任务计划里躺了 inf 年。种种迹象表明 —— 我在考场懈怠了。

我已经记不清赛末 1h 我是不是觉得自己 344 已经可以躺平,反正 CSP 两个目标都达到了;也记不清我对着值域计数时有没有想起模拟赛反复总结到 bfs 式思考,每 10min 转换思路;也记不清在一次次模拟赛中提炼的策略与易错点总结有没有用在考场。只记得赛后 30min 写加调完 T4 后难以言喻的沮丧。

查完分后,发现 T2 挂了 4 分,T3 挂了 40,最终 300 分收场。

然而,下发代码后,提交在洛谷发现 RE+WA,测了 sanitize 之后发现

char s[N+2],t[N+2];

我终究是犯了比 NOIP2024 T4 更严重的错误。

可以预见的是,所有 T3 A 性质分都由此失去,余下的 15 分,不排除最后几档有极长串或波动卡常的可能。

总之是,开够数组后,在洛谷上前 80 分都跑进了 1s。

:::warning[总结与教训]

  1. 无论何时,不要一想到做法就停止思考,尤其是条件反射出来的做法,一定要经过足够时间思考更简单/更好写/更妙的做法,避免在时间效率上浪费大量时间。

  2. 任何代码写完都要测极量 case 的数据,并开 sanitize,最后一定要检查代码主要框架,数组大小,空间大小,输入输出格式,并测大样例。

  3. 写代码时一定要集中注意力,落键前一定要反复考虑这里的逻辑/对应关系是否有误,特别注意变量复杂时,牢记或在草稿纸上写下变量对应的信息。

  4. 注意数组是否开够。 :::

希望这里不要再加内容了。

后话

:::info[UPD] 听说机房里一些人被 chuang 飞了,看到去年队友落榜,心里也很难受。感觉其实自己也好不到哪里去,顶多多水了一点分,大家都没有发挥出自己的水平。

但可以庆幸这发生在高一,愿我们明年都拿到自己想要的成绩。 :::

我常常追忆过去。

生命瞬间定格在脑海。我将背后的时间裁剪、折叠、蜷曲,揉捻成天上朵朵白云。

云朵之间亦有分别:积云厚重,而卷云飘渺。生命里震撼的场景掠过我的思绪便一生无法忘怀,而更为普通平常的记忆在时间的冲刷下只留下些许残骸。追忆宛如入梦,太过清楚则无法愉悦自己的幻想,过分模糊却又坠入虚无。只有薄雾间的山水,面纱下的女子,那恰到好处的朦胧,才能满足我对美的苛求。

追忆总在不经意间将我裹进泛黄的纸页里。分别又重聚的朋友,推倒又重建的街道,种种线索协助着我从一个具体的时刻出发沿时间的河逆流而上。曾经的日子无法重来,我只不过是一个过客。但我仍然渴望在每一次追忆之旅中留下闲暇时间,在一个场景前驻足,在岁月的朦胧里瞭望过去的自己,感受尽可能多的甜蜜。美好的时光曾流过我的身体,我便心满意足。

过去已经凝固,我带着回忆向前,只是时常疏于保管,回忆也在改变着各自的形态。这给我的追忆旅程带来些许挑战。

我该在哪里停留?我问我自己。

:::error[]

我翻开 CSP 题面 pdf 一查,这 pdf 没有大样例,歪歪斜斜的每页上都写着 1s 2G 四个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都写着两个字是

**计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!计数!!** :::