考完 CSP 就考信竞队内部期中考,rp 全被 CSP 吸走,挂分无数,心态爆炸,于是补一篇邮寄缓和心情。。。
day -114514
初赛,毫无疑问的过了。
开始备考复赛了,牢任(我们原信竞教练)去 BJ 找他的 npy 去了,我好想他,我想好好打 CSPS 蒸个 wc 的资格,如果 wc 在 BJ 的话还可以去看看他。
day -7
在机房玩 VR OI 模拟器被抓了,被年级主任狠狠批斗了一顿,气煞我也。
day -1
lcx(HRPA)还在练他的 ds,dzr(dangerous_tDp)不知道在干嘛,他们两个好像很淡定,可是我紧张死了😰。
还是有点紧张的,练了一下 dp 和计数题。然后就跟爸妈前往考点了,主要原因是因为我晕车,早上坐车过去容易影响状态。然后就休息了。
考前
吃了个馄饨。同学们是坐大巴过来的,我才吃到一半他们就来了,lcx 还向我糖糖地招手。。。
背了一下板子,和同学交流了一下就进考场了。
CSP-J
进考场,ZSJZ 的考场纪律还是很严的,带字的都不让带,在旧科学楼 503 考,试了一下键盘还可以,心情不错。
T1 秒了。
T2 1 min 想出双指针,10 min 实现完成,15 min 调完,秒了。
T3 一开始一眼 01 Trie 板子。写了 20 min 发现一直调不对第三个大样例(西西弗的大样例在这次出奇的有效),调了 20 min,又想了 30 min,发现自己写假了,破防😡去看 T4 结果没看懂,决心回来再看 T3,发现自己是唐人,非要写 \(O(\log a)\) 算法,直接从高位到低位枚举即可,15 min 重构代码过了。
T4 10 min 后看懂题意了,🤔想了 30 min 发现第一张牌最后一定会留下,而第一张放置的牌和它最后一次出现的位置中间的牌无论怎么搞都会删除,删掉后对下一张未删除的牌又回到了相似的情况,递归处理即可,虽然过了所有大样例,但是我清楚的知道会被卡到 \(O(nm)\),怎么办怎么办。又拆贡献,想其它的方法,50 min 后苦战无果,我已急哭。没办法了,道心破碎,直接开玩 dino,只打到了 6000 分,不是我打个游戏怎么都这么废物😭。。。
赛后中午睡觉时突然发现我第一次想到的就是正解,图显式建出来再加个差分就可以了,我已急哭😭。。。
估分 \(100 + 100 + 100 + 60 = 360\)。
CSP-S
一觉醒来到考场。高中的学长都问我有没有 AK CPSJ,被狠狠嘲笑了,我是区😭我是区😭我是区😭我是区😭我是区😭我是区😭我是区😭我是区😭我是区😭。
进考场,在旧科学楼 504,坐到座位上一试键盘发现卡飞了,有一半键盘都摁不下去,只能一个字一个字慢慢打,ZSJZ 的键盘还是发力了吗?补药啊😭😭😭。忍不住直接开喷了,苦了坐我旁边的人(好吧其实也没多大声)。。。
开 T1,这么水?双指针 15 min 秒了。
T2 看到题面直接想到将线路视为点向站点连边,跑最短路。但是这样是 \(O(qm\log m)\) 的肯定不可行。思考🤔了 10 min,发现由于 \(d\) 很小,可以直接枚举 \(x\) 的出边,然后对每个线路跑 dijkstra,即跑 \(n\) 次 dijkstra,时间复杂度 \(O(nm\log m + qd)\),还是不可行,会 TLE,鄂啊,被击倒了😭。跑去看 T3,发现是狗屎题目,直接被创飞了,我还是回去看 T2 吧😭。发现建出来的图是一个二分图,并且有一边的点的数量很少。这有啥用?这一定提示着我什么🤔。又想了 30 min 🤔,灵光一现!我们直接用两条站点和线路的连边替换成一条线路和线路的连边,那么只需要跑一遍 Floyd 求出线路和线路间的最短路,询问时枚举 \(x, y\) 的出边即可,时间复杂度 \(O(n^3 + \sum k + qd^2)\),写了 20 min 写完了,并通过了所有大样例。
我场切 T2 了 OHHHHHHH!好开心😊,我这个区终于场切 T2 了(事实证明一车人场切了,果然,区能做出来的题一车人都做得出来)。
看 T3T4,发现 \(n^2\) 档总共有 \(90pts\) 并且还有将近 3h 打题,此时的 zcg(我):🤔只要我分别做出 T3T4 的 \(n^2\) 档,再打一些神秘的特殊性质,那我就 \(300+\) 了,就可以去 wc 了 wc,哈哈哈哈,wc 我来了 wc。
T3 想了 10 min 想到了 \(O(n^3)\) 的 dp 做法,wc,这个 \(O(n^2)\) 怎么这么难拿到啊😡,又想了 20 min,发现应该可以用桶优化,写了 30 min 发现 wc 假了,更生气了😡😡😡,去了趟 wc,发现用桶是错误的,改成线段树优化 dp,写了 30 min 又调了 20 min 终于过了,松了口气。。。
再看 T4,想想一个 \(O(n^2)\) 的树上背包,可是根本想不到怎么定义状态,此时已经有点微红了,又思考了 30 min,发现时间根本不够,于是放弃了,花 20 min 打了个 \(15pts\) 的暴力跑路了(不是这个 \(15\) 分的怎么都这么难打😡)。
出考场后发现 T3 打一个 \(O(n^2)\) 的最短路计数即可,比我的线段树优化 dp 好打一万倍,然后还发现自己能白嫖的性质 B 也没拿到,更红温了😡。
估分 \(100 + 100 + 40 + 15 = 255\)。这下 JS 都拿到了一个极其区的分数,我果然是区。
赛后
复现了 S T1T2 的代码并通过了,S 组 \(200+\) 应该是没跑了,但是还是担心 T3T4 的暴力会挂。。。
后来出分发现 J 组是 \(368\),S 组 \(255\),J 反向挂分 \(8\) 分,S 组没挂分,这可能就是我最好的结果了吧。。。
好多同学都挂分了,hh(huanghao2024)和 ljy(go_On_)因为 T2 Floyd 写错挂了大于 80 分。dzr,lcx 和 crl(CRl_b) 因为 T2 漂亮的题面导致没有做出。
一看洛谷被一群初一初二吊着打,我还是区完了😭😭😭。
到头来,恍如梦一场,空悲切。