CSP-S2022游记

· · 个人记录

其实不叫游记,毕竟本校考。

Day -2

前几天的联盟模拟赛都被薄纱,应该调整状态了

Day 0

上午 xc 让大家在图书馆自习,结果 ac saber 打得火热朝天;还有几个看 b 站开 generals 的。打了个网络流马拉车板子,结果都调了好一会。

到 10 点多的时候 jrz 和海豹过来说要不要出去逛逛,然后逛着逛着遇到了一个排球,然后就边拍球边逛,逛着逛着又遇到一个篮球场,然后就开始打篮球(?)

打到 11 点多,经典考前总结环节都开始了。

到下午,安全承诺书都找了半天找不到,贼紧张。瞟了一颗糖进考场,补充血糖,加快思考。

很快就放题目了,密码是 belief2022;发现普及组的密码是 mountain2022,感觉很有意思。

先慢悠悠把文件夹和文本文档准备好,又调试了一大堆东西,然后才开始看题。

第一题很快看完了,没什么思路,但是是个图论;第二题看起来更像是一个套路题,感觉可做;第三题题面长的一匹,没完全搞懂就去看第四题了,但是也是个图论题;第四题题面也贼长,选择先把前两题切掉再看,还是个图论题。

一场比赛三个图论,赚爆了。

回去看 T1,没什么想法,于是决定看看部分分,发现特殊的就是一个 k=0 的,想了想,在纸上画五个点,突然发现可以 home-1-2 和 3-4-home 分开,然后拼起来,这样子就只需要 O(n^2) 的预处理时间,而拼起来也是 O(n^2) 的,就直接做出来了。

然后开始敲,大概 15:10 时候调完,但是大样例是真的水,又肉查了几遍才放心。

然后去看 T2,纯纯套路题,比 T1 还简单,但是要打 6 个 st 表,好像很痛苦的样子,然后就开始码了。打了 4k,虽然大部分都是复制粘贴,但是打得比较仔细,所以样例一遍测过了。

这时候大概 15:55,只过了一个半小时,节奏很棒。

然后开始认真看 T3,发现没什么思路,感觉非常鬼畜;认真分析了一下,普通方法的难点就是避不开更改一个点的所有入边,但是一直想不到很好的办法。于是暂时放弃,决定先将 T4 的暴力打出来,然后死肝 T3 直到结束。

然后一看 T4,也没什么想法,但是 k=1 就是相当于求树上链和,就先打了。然后发现有一个随机数据,随机数据的链长度较短,突然发现好像可以 dp,并且 dp 只会从 O(k) 个临近的位置转移,然后就可以先预处理出 dis[x][0,1,2] 表示距离 x 长度为 0,1,2 的点的最小权值,直接上 ddp 就好了。

但是想来非常难打,所以先打了随机树的分,权衡了一下,决定还是去肝 T3,此时大概还有一个半小时。

然后经历了痛苦的一个小时,始终跳不出修改一个点的入边的方法,上了两次厕所,终无所获。其间也打完了 60 分暴力,只需要均摊复杂度就可以过掉前 12 个点,但是这也引导我进入了错误的方向,一直以为正解是均摊。

等到只剩半个小时的时候,冷静下来,重新读一遍题,认真分析目标与方法,突然发现,我们首先可以确定每个时刻图中的边数:一定要是 n 条,然后要判断每个点是否都存在出边。那么我们可以给每个点一个权值,点的权值就给到出边上,通过某种方法计算出权值,例如加法异或之类,然后计算整个图的权值是否和正确的权值相等,就可以判断是否正确了。

突然就做出来了,慌忙开始改代码,但是太过慌乱,导致出现了很多小错误,距离结束十分钟的时候还是调不出来。

深吸一口气,强迫自己冷静下来,然后开始小黄鸭调试法,一行一行看,终于在距离结束五分钟的时候调出来了!

整个人从完全紧绷的状态放松了下来,然后常规检查数组、类型、文操,最后打开 checker,放下手,等待两分钟的流逝。

新赛季的第一场比赛就这样结束了。

估分:100+100+100+76

lg 测的时候好像 T4 的 k=1 挂了(?)

测测测测测测测测!

T1 只记录到了次大,被某 OJ 狠狠干碎,只剩 60 分。

出分:100+100+100+76,你永远可以相信 ccf。