CSP-S 2026 游记

· · 生活·游记

省流:应该是 6 级勾。

10.31

入场前依旧 \infty 个摄像头怼着我拍。

解压,看 T1,一眼,花了 10 分钟做完了。

看 T2,最开始读反了 n,m,以为是 m\le nd\le10^4 的诈骗,开始写输入后发现读反了。认真思考后想到了 O(n^3+d^2\sum k_i+d^2q),稍微分析一下发现第二项其实是 d\sum k_i,但依然不确定能不能过。经过 10 分钟对其他做法的思考和内心的挣扎后,决定开始写,很快写完了。

此时比赛才过 1 小时,优势在我,直接开 T3。

我很快意识到路径只会有 1 个不同位置,且这两个位置相邻。我大概要先求“能到点 i,且利用从其到点 i 的最短路步数,无法到达点 i+1”的点的个数,设了个 DP 状态 f,手玩了几种情况和转移,但不是很清楚是不是对的(其实是对的)。然后接下来考虑算答案,考虑直接枚举不同位置左右两边是啥,然后发现先枚举左边,可以推出右边的范围,前缀和优化一下即可,不确定会不会算重(其实不会算重)。

就这样,我在两处关键代码正确性未知的情况下,开始随便写这个题,也没有认真考虑边界情况,结果自然是挂在样例 3。然后我手玩了挂掉的小情况,得到了一个结论“假设路径是 u\to i\to v,u\to i+1\to v,若点 u+1 能到达 <u 的点,则此时 f_u=1,点 v-1 同理”,这个结论是显然错误的。

于是通过了所有小数据,但样例 3 的第一个点过不了。但是由于小数据没有问题,我没有办法检查错误原因,于是转而去开始手玩、检查代码各种部分,均没有进展,我没有写平方复杂度的暴力,所以我无法对拍。

此时比赛过了 2.5 小时,在此之后我进行了大量的虚空调试,到后面甚至心态直接炸了,开始随机枚举代码字符进行修改,但并没有奇迹发生。中间有尝试过去打 T4 暴力,但发现 T4 暴力好像很难写。

比赛结束,T3 获得不知道多少分,T4 的暴力没有打。

纯纯神人策略导致的,在时间充裕的情况下没想清楚就开始写代码,写完之后不认真分析就开始乱调,对提升得分和调代码都有作用的暴力没有写,感觉我这场简直是在刻意最小化总得分。