sc2017新初三模拟赛1 比赛总结

时间:2020-12-03 19:17:26

暑假集训第一次模拟赛考得一般,3h3题,100+10+20=130,并列 rank3,不算好也不算差吧。

但是再来逐题分析自己在比赛过程中的表现,感觉也还是只能算中规中矩。

首先,总体读题、样例分析和理解题意大概花了 15min,理解大意之后在草稿纸上演算了一下。

主要是担心自己把一些细节看走眼了,而题目的样例又都比较简单,因此要自己模拟一些小数据。做好这个环节还是很有必要的。看完决定从 T1 开始做起。

T1,赛后评讲的时候 wck 说感觉这套题难度是递减的,也就意味着 T1 是最难的了,但是事后再来看,其实也并非那么难。

我先是打了暴力,试了几种特殊情况,发现答案可能比 n 的规模大很多,再由答案取%,隐约感觉会要用到 dp。

在纸上手动模拟了半天,好像找到一点感觉,再静下心来分析条件的时候发现的确可以搞 dp。之后又花了点时间,从特殊到一般,yy 出了式子。

感觉还是比较正确的,因此没有打对拍。比赛开始 45min 的时候交了第一发,然后去搞 T2。

T2 看了一下又感觉没什么思路,在纸上画了一下觉得情况比较多,脑子有点乱,先去看 T3 了。事后证明其实只是心态不稳,一时脑抽。

看 T3 之前又有点担心 T1 不稳,再回去对着题目和代码看了一遍,突然发现复杂度是 n 方的,后面肯定会 T。还以为要搞数据结构维护,发现加个前缀和就可以了。

于是比赛开始 1h 的时候交了第二发。幸好有这个回马枪,让我从 75 变成了 100。但是也说明自己还是不够谨慎。

开始想 T3,在纸上分析,画了各种可能情况的树,但是没有往图论的技巧上面想过,比如我们之前学过的缩点。

实在是想不到什么好的做法,又看了下实时状态,很多人都交了两题了,就更慌。感觉应该能做出 T3 的不会很多,决定先把暴力打了。

大概是改了 T1 之后过 20min 开始打暴力,因为 n 立方的做法有点繁琐,写得又丑,有些不确定的地方还要回去草稿纸上推一遍,陆续写了将近 1h。

又出了几组小数据,跟手算结果一致,感觉暴力没有写错,不用调试。最后把 2k 的暴力交了,看到过了第一个点就比较放心,觉得 20% 应该有了,回去想 T2。

这时候离比赛结束大概还剩 1h,脑抽,突然因为最短路把题目 yy 成了图论模型,想着建图跑 sp(b)fa。其实最小化最大值是有二分的影子的,但是我没留意。

比赛一脑抽,时间又不多,基本就救不回来了。马上 yy 出了一种奇怪的暴力搞法: n 方枚举加权值为 0 的边之后跑 spfa。复杂度不知道高到哪里去了。

自己写 sp(b)fa 还是比较熟的,大概花了 20min 完成整个代码,交了之后第一个点也过了。

之后就仔细检查代码,毕竟是 oi 赛制。对照题目检查有没有细节问题,肉眼查,出特殊情况卡,但都没有再提交过代码了。

总的来看这次比赛,时间分配和决策上有失误,但都不是主导因素。该 A 的题没 A,主要还是心理素质,看到时间少,看到别人过了,就自乱阵脚。

但其实 ioi2017day1 都有匈牙利小哥最后 30s 的提交翻盘夺回 rank1 的事例,说明在竞赛中,一定要把握好自己的心理,千万不能慌。

其次就是分析问题不到位(T2 写 sp(b)fa 即是一例),对经典算法和数据结构不会灵活套用(例如 T2 的二分和 T3 并查集),导致翻车。

或许终究毕竟还是 too young,还是要学习一个。