CSP2025 游记

· · 生活·游记

坐标 MO,省流:J [272,336],S [10,26+?]。

上午 J 组,本蒟蒻没在 OIerDb 有过任何记录,所以报来玩玩。大约 8:15 到了 LH, 8:45 开做。前两题花了 15 分钟左右,T3 看了眼想到维护前缀异或和然后枚举左右区间,中途因为同时写关同步和文件输入输出就会导致 Dev C++ 死机的神秘问题以及“if ( pre[r] ^ pre[l] == k)”报错(LH 机房的 Dev C++ 报错不显示是什么错误)硬拖了半个小时,debug 完又优化了一下但是复杂度写假了,不过过了洛谷民间数据,只能寄希望于 CCF 神机了。T4随便写了个特殊性质(但是洛谷上貌似没过)及 n<=3 的情况,连暴力都没打就开始睡觉&摸鱼了,这时候大概是 10:15。大概到了 11:30,想起了关同步就会报错的神秘问题,遂问 TLam。最后还是没有解决,只能删掉这行代码再交了。

洛谷测出来 324

预计得分: 100+100+[60,100]+[12,36]=[272,336]

中午跟 DengDuck 吃饭去了,然后又和 QuantumCom314 会合去乱逛了一会儿。

下午 S 组,进考场前还在祈求 T1 别出贪心或 dp & 其他题目不要出字符串,结果刚进考场天塌了,T1 贪心,T3 字符串(本人除 Trie 外对字符串一窍不通)。T1 看了 5 min 没思路,遂开 T2,想到了一个做法(是错的,但当时就着这个思路写了好久):建一个超级源点,与所有的乡镇连边,费用为 c_i,一起加入一个优先队列(而非加完边再排序);乡镇与城市间一开始先不连边,一边跑 Kruskal 一边加边。就这样浪费了开头 2h,急急急,于是开始写特殊性质,总用时约大于 2h30min 。开T4,写了下特殊性质但没有特判,有可能 0 分,然后破防了半个小时什么都没做。剩下一个小时,开 T1。一开始想着作差排序,但只有这步对了,怎么写怎么错。最后 0.5h 开始乱搞,结果除了样例 1 外的数据点都错了一半左右,破防了。最后带着不甘离开考场。

原预计得分:[10,10+?]+[32,48]+0+[0,10]=[42,68+?]

回到家后,我想到了一个赛时很大很大的失误。如果没有这个失误,纵然我确实打得很差也估计有三等,而且我也认了,但我想到这个失误真的好想哭:

我存乡镇与城市间边的代码:

for(int i=n+1;i<=n+k;i++)
    {
        cin>>c[i];
        for(int j=1,w;j<=n;j++)
            cin>>w,add(i,j,w);
    }

也就是说,我的 c 数组需要开到 10^4+10

但我当时宣告的是:

int c[30];

如果我当时注意到这一点,不令 i=i+n ,到了存边的时候再存 i+n,j,w 就好了。我可以接受自己菜,可以接受自己技不如人,但我不能接受自己因为数组开小了而挂了几十分导致自己奖都没了。认认真真学了 10 个月 OI,结果还是一坨,无颜面对江东父老了。

最终预计得分:[10,10+?]+[0,16]+0+[0,10]=[10,36+?]

不幸中的万幸是,这边只要 CSPS 不爆零就能去NOIP。

世事沒如果,別再冀盼如果。