CSP-S2022游寄

· · 个人记录

CSP-S一场空,不打暴力见祖宗

上午

果然压力大的话会影响胃,恶心了一上午

打了打字符串哈希,但是预言CSP不会考字符串

下午进考场

电脑键盘感觉有些机械键盘的样子,手感不是很好,响声也比较大,预感到了待会敲键盘的声音会很响,戴上了耳塞

14:30正式开考

压缩包密码belief2022,倒是没有出现输好几次的情况,先看第一页的文件名,将文件夹搞好了,事实证明开始时整文件确实能规避最后时间紧张出现的nt错误

接下来看时空限制,2,1,2,3+512,512,512,1024的配置让心一凉,这么大的时空限制别告诉我是一堆图论或者数据结构

结果真的全是图论和数据结构

T1

第一道题就是图论是真没想到,这么多年真题都没有将图论放在第一题过,先手推样例想了想正解,只推出了n^4的暴力枚举,这时有点烦躁,就又看了看k=0时的部分分,发现非常好搞,只需要n^2枚举1号结点连接的两个点,再枚举这两个点连接的所有点中相连的情况,然后取最大值即可。

这时距开始已经过去了50分钟了,由于着急去看T2,就先把45分的性质分打上了,现在去看我的代码,你还能看到if(k==0)和下面空空的else(第一个失误)

T2 15:40

看到这道题的第一眼先想到了博弈论,但是手玩样例,发现小L能知道小Q的区间都有什么,反之同理,所以就变成了一道大分讨题。这时看到了数据中奇特的两个性质,略微思考,发现这两个性质能省略很多种情况,就先将其打了出来(第二个失误),具体为性质1一个人莫得选择,另一个人一定会选择对自己更优的,性质2L一定会选最大,小Q一定会选最小,区间最大最小值可以用ST表去维护,但是由于线段树打得熟,果断用了线段树。

这时去推正解,发现有负数只会让分类讨论的情况多一些(但是实际上很多情况是可以合并的,我都分开来处理了,好处是减少挂分概率,便于调试,坏处是码量和细节较多,这里的好处对待会的我起到了很大的作用),只需要再维护一方的非负最小和非正最大(另一方我是进行分类讨论处理的,不需要再另外维护)

为了便于处理,我直接再开了两颗线段树,一些小错很快对着样例排了过去,这时测大样例,肉眼比对没问题,果断fc

出来一长串,心脏骤停

当时真的是心脏骤停,脑门的冷汗唰下子冒出来了,因为先打了性质再打正解的原因,再加上代码能力有待提升,这时候已经17:15了

之后的十分钟真的整个人都慌了,完全没心思调,这时候喝了口咖啡冷静下,在最后分讨最复杂的地方输出了个中间变量,突然发现它是在正确的输出后面,没有问题!

我瞬间意识到我是一些小模块处理错了,将每个模块的输出挨个去试了一遍,终于发现即使在小Q全大于或小于等于零的情况下,小L是否正负都有也是非常重要的影响的,以小Q全大于零为例,小L最大为正,就会选最小值,反之会选最大值

很快就将其改了,拍两个大样例全过,瞬间就放松下来,想到T3,T4还没碰,赶紧去看了看能不能骗两分(第三个失误)

T3,T4 18:10

T3时间短看不懂了,直接while(q--) printf("NO\n");

T4是全部cout<<0……

赛后自测

回到酒店代码已经公示了,打开自己的代码,先怀着紧张的心情用民间数据测了T2,3OJ全部满分收场,没挂,松了一口气

然后回头看了一眼T1,乍一看没问题,然后

e[y][j]$-->$e[y][i]

心脏骤停

直接爆炸

45-->?

本来稳拿40到45的代码直接成问号,除非人品爆炸有测试点规避掉这种情况,否则直接0

洛谷5分,infoj爆零……

T3数据不好搞,有可能有直接输出NO的分

但是看民间数据成绩,今年虽然题难,但是是暴力场,分数线起飞

省一无望

总结

这次比赛问题非常明显,就是T2耗时太长了,导致既没有时间打T3,T4的暴力,也没有时间回去完善T1的暴力和检查T1性质分,结果悲惨爆炸,这是考试策略明显有问题造成的

这次比赛也可以说是摸清了OI考试,提前爆出了我的一些问题,总体来说,如果以这次比赛的成绩来算,是失败的,但是如果说对将来的NOIP,那还是有那么一丢丢意义的

至少-480¥没白-

最后%%%olgk,HE民间数据rk9 lyh HE民间数据rk20