CSP-S 2025 我在吃联考的使吗?

· · 生活·游记

刷了一堆板子,别的没咋复习。剩下时间都在摸鱼和打 gen,以及看以前的 gen 记录,因为没人和我打。

刷板子居然有一堆 WA/ll

周六谁了三顿觉,地铁去杭师大。进场前先调整心态:CSP 就是野鸡比赛,我别退役就行!

club, road, replace, employ

进场。路上看到 gyy,转头左后方有 wty,左前方有 hhy,但我怎么没看到 wty 右边只隔了 \le 2 个座位的 穿了盒子校服的 ttx?

先用鼠标配置一下,然后罚坐,乱点居然发现联合省选 2024 的包?

怎么 pdf 没有密码直接开始了?怎么比赛前 3min 就可以动键盘了?还是比以前人性化了一点。

还没写完 .vimrc 和 S.cpp 就有键盘声一片,但是点开 pdf 我好像 T1 不会。嗯?这 T1 咋这么困难?有点破防。对屏幕和草稿纸盯真一会发现是简单题,键盘键位非常垃圾,打错了一堆字符,10min 过了。

开 T2,哦,最小生成树,然后给你搞出来什么辅助点什么的。这咋做啊,又懵掉了。看起来好像 2^kn + m \log n 状物,发现有用的边必须在 MST 上。然后呢?然后呢?一直盯着一直不会,心态开始极速下滑,我觉得这个 CSP 大概是黄紫紫紫这种东西,我不打暴力不是退役了?退役了我能上哪去?退役了我前几个月在干什么?我,打暴力,T2?看了下暴力好像只有 64 分,那我打个锤子啊,上了个厕所冷静一下继续盯真(路上看到 zes 和 GM 的大头,似乎 GM 的头更大,之前居然没看到),盯真一万年发现我是唐比,直接暴力枚举村庄集合,拉进去跑 MST 就做完了。于是写出了一份代码,发现大样例只要 0.32s,m 还是卡满的,那我稳过啊!(虽然自己算了算复杂度,毛都不对)100min 的时候过了。这种智障题都要 1.5h,好在过了获得了「激励」,心态++。骂自己一句后开 T3。

开 T3,这啥,做出了最智障的观察后又开始盯真,感觉这我不会,先开 T4 想了想,发现更不会,但是 m = n 我很会先写了,还是做 T3 吧。

又盯真和画画了一万年,发现我要干的就是把字符串切成两端,然后分别要前缀这种东西。脑子里想象了一下,又懵逼了半天意识到好像是什么 trie 树到根链信息状物,到根链到底有没有清晰地意识到不太清楚,反正脑子里对这个结构有了个印象,发现我即将拿下这题,非常兴奋,想上厕所了,结果监考不知道跑哪里去了,举了 O(1) 次手还是不来,很着急,只好继续想。~10min 后终于上到厕所了,题也想明白了,此时 17:00 开始 rush。代码出乎意料地简洁和好写,垃圾键盘用久了感觉也好打了一点,随便调了调就过了,看起来跑得很快。顺便说一句,我的 T3 好像和大众做法不同,是 O(n + q + \sum |S| \log |\Sigma|) 的,\log |\Sigma| 当常数就是线性。

开 T4,24 分就是送,但是只剩 1h 我决定先写掉。然后盯真到 18:00 没啥进展,弃了检查。

T1 没看出问题。T2 我代码翻着翻着发现了问题:我并查集的 fa 只开了 10^4 + 4,但是我预处理部分 iota 遍历到了 n + k + 1,理论上应该会 RE 或者出问题的。再翻一眼大样例直接吓坏了:我少读了一个 0,以为大样例卡满了!心跳加速,冷汗直流。看了一下大样例只对到了 64 分,差点 FST 爆了。想了想赶紧改,手抖着把 sort 改成多路归并,极限数据 0.75s 过了,此时只剩 5min。

盯了一眼 replace 好像没问题,填了一下那个表格下播了。

出场发现 wty 心情低落,T3 竟然写了 5k?但他还是 300+。ttx 似乎没过 T4,看来这题有难度。gyy 表示 T2 太难了,那确实很难。看 QQ hepp 又在批话,怎么这么多人批话,都说上瘾了?什么?T3 没保证 |t_1| = |t_2|?什么?什么?什么?

就算联考最阴险的出题人也没阴险到这个程度吧……FST 的话出题人可以去死了……但 zes 说不太会 F,那假装过了吧。

T2 大样例显然可以媲美联考。我这个很少 FST 的都差点 F 完了。

我爸执意开车接我,结果走错门了。。。

11/05

申诉渠道提前查到了分,100 + 88 + 100 + 24 = 312,和预期差不多,但是不知道 T2 为啥极限随机数据 0.75s,然后 FST 成 88 了。

T3 没挂!T3 没挂!T3 没挂!出题人全家复活!出题人全家复活!出题人全家复活!

不管不管,已经很高了!wty 320, LaDeX 324,初三小朋友吊打我/bx

11/06

代码下发,找出 road.cpp 提交,怎么不是 TLE 是 WA?见鬼了,打开代码,椅子翻到,惊为天人,“啊?”:

// ----------------------v where is your '+ 1'?
if (p[k] + 1 < n && T[p[k]].w < w) {
  w = T[p[k] + 1].w, u = T[p[k] + 1].u, v = T[p[k] + 1].v;
  x = k;
}

加了区区 \red 4 个字符,变成了 AC...

唉,卡常还是卡 WA 了。还是没吃联考挂掉总共 \red{130^+} 分的教训/ll

CCF 居然只卡掉了 12 分,CCF 好闪,拜谢 CCF!