CSP-S&NOIP 2024 游记
luckydrawbox
·
·
生活·游记
CSP-S 初赛
初赛 86.5,不知道考了个啥。
CSP-S 复赛
Day -1
程序猿节 10.24!同时还是 myf 的生日,真就双喜临门上了,蹭了蛋糕就坐飞机回去了。走之前还留下了史诗级合影:
希望各位都 rp++!
尝试调了去年 S T3,思路清晰了许多,但还是挂了几发,希望今年没有大模拟。
Day 0
口胡了信心赛,然后摆了一天。
CSP-S 真会这么水吗?
Day 1
中午看了看 J 组题目,前三题挺*的,这个 T4,我好像一眼不会?
进考场。考前五分钟机房里传来两段好听的手机铃声,有意思。
还没开始,先瞄一眼样例,好像没考图论,根据上次修改时间判断,题目顺序应该是 \text{arena}\rightarrow\text{color}\rightarrow\text{detect}\rightarrow\text{duel}?
开考一看,傻眼了,完全相反,像极了一次语文月考的选择题,问题不大,先开 T1,很签到,排个序后贪心地选即可,不过值域很小,直接桶排。
此时快过了半小时,看 T2,竟然是高一物理题,算出每个车超速时所在的位置区间,第一问就是查询区间中有点的区间个数,第二问就是求最小点覆盖,直接贪心即可。细节有,但不多,写了 40 分钟就过了大样例。
T3 可以先打个 O(n^x) 的 \text{dp},记录 f_{i,j} 表示考虑前 i 个位置,当前颜色的一段覆盖 [j+1,i] 的答案,整段的贡献可以用前缀和预处理。发现 j 对 f_{i,j} 的贡献只与 (a_j==a_{i+1}) 有关,所以可以把 j 分为 O(V_a) 个等价类,每次可取全局最大值的 f 无贡献转移,也选等于 a_{i+1} 的等价类中的最大值产生贡献并转移,复杂度又是线性。感觉整题都非常套路,这个码量要是不加多测我还真写不到 40 行。
到 \texttt{16:00} 就切了前三题,感觉非常有信心,先上个厕所再看 T4。感觉这个题很模拟,每次直接先把 c=n 的结果跑出来,每层记录获胜者和编号和,无法确定就把胜者记为 >n 的,过程类似线段树,查询的时候记忆化搜索即可,然后就 O(Tn\log n) 了,决定先写一发再优化。写错了一些细节,过了 1h 才过了样例 1,不过很快过了样例 2,3,再测样例 4,假!再测样例 5,只过了一半!怎么回事?我的做法显然完全不依赖特殊性质呀,真的不能再真了,瞬间蒙圈,感觉可能是查询部分写挂了,狠心花了半小时写了个 nm 的做法,答案也是错的,有点心慌了,一点应对策略也没有,想不到一点有问题的地方,真就有种无力感,正如之前干翻我的每一场 CSP。
最接近 AK 的一次,还能呼吸吗?手没有闲着,随机重构部分代码,虽然一点用都没有;而脑已经走神,不再有任何期待。转眼就到了 \texttt{18:00},我告诉自己,最后再调 15 分钟,不行就算了。再仔细思考这个题,从我之前的做法可以得出的结论是说答案为一段后缀再加上前面的某个值,但真的是这样吗?还真不是这样!如果有一些靠后的阿斗能力值不能达到某个 1 导致其扶不起,那就会寄!我瞬间恍然大悟,开始咒骂 CCF 为什么样例这么水让我以为我真了,然后手搓一组小数据把我自己卡掉了。但是已经 \texttt{18:20} 了,现在重想还来得及吗?突然有点绝望,感觉没希望这么快写完,于是开始检查代码到结束,已经无法呼吸。
真的毁了。既然我的做法是假的,那么就可能获得 \text{rand()} 分,寄完了。
赛后在车上理了下思路,发现只要把线性的预处理做 \log 次就对了,真的汤完了,84\rightarrow rand()\bmod 84。
晚上和 zmy 交流了一下,发现他做法和我差不多,不过其实假做法是必过特殊性质的,所以我错怪 CCF 了?
Day 2
这个代码公布形式非常新颖,简直是开了解密赛。
估分:100+100+100+[0,84]=[300,384]。
洛谷:100+100+100+48=348
云斗:100+100+100+52=352
计蒜客:100+100+100+80=380
信友队:100+100+100+52=352