暑假集训第一次模拟赛考得一般,3h3题,100+10+20=130,并列 rank3,不算好也不算差吧。
但是再来逐题分析自己在比赛过程中的表现,感觉也还是只能算中规中矩。
首先,总体读题、样例分析和理解题意大概花了 15min,理解大意之后在草稿纸上演算了一下。
主要是担心自己把一些细节看走眼了,而题目的样例又都比较简单,因此要自己模拟一些小数据。做好这个环节还是很有必要的。看完决定从 T1 开始做起。
T1,赛后评讲的时候 wck 说感觉这套题难度是递减的,也就意味着 T1 是最难的了,但是事后再来看,其实也并非那么难。
我先是打了暴力,试了几种特殊情况,发现答案可能比
在纸上手动模拟了半天,好像找到一点感觉,再静下心来分析条件的时候发现的确可以搞 dp。之后又花了点时间,从特殊到一般,yy 出了式子。
感觉还是比较正确的,因此没有打对拍。比赛开始 45min 的时候交了第一发,然后去搞 T2。
T2 看了一下又感觉没什么思路,在纸上画了一下觉得情况比较多,脑子有点乱,先去看 T3 了。事后证明其实只是心态不稳,一时脑抽。
看 T3 之前又有点担心 T1 不稳,再回去对着题目和代码看了一遍,突然发现复杂度是
于是比赛开始 1h 的时候交了第二发。幸好有这个回马枪,让我从 75 变成了 100。但是也说明自己还是不够谨慎。
开始想 T3,在纸上分析,画了各种可能情况的树,但是没有往图论的技巧上面想过,比如我们之前学过的缩点。
实在是想不到什么好的做法,又看了下实时状态,很多人都交了两题了,就更慌。感觉应该能做出 T3 的不会很多,决定先把暴力打了。
大概是改了 T1 之后过 20min 开始打暴力,因为
又出了几组小数据,跟手算结果一致,感觉暴力没有写错,不用调试。最后把 2k 的暴力交了,看到过了第一个点就比较放心,觉得 20% 应该有了,回去想 T2。
这时候离比赛结束大概还剩 1h,脑抽,突然因为最短路把题目 yy 成了图论模型,想着建图跑 sp(b)fa。其实最小化最大值是有二分的影子的,但是我没留意。
比赛一脑抽,时间又不多,基本就救不回来了。马上 yy 出了一种奇怪的暴力搞法:
自己写 sp(b)fa 还是比较熟的,大概花了 20min 完成整个代码,交了之后第一个点也过了。
之后就仔细检查代码,毕竟是 oi 赛制。对照题目检查有没有细节问题,肉眼查,出特殊情况卡,但都没有再提交过代码了。
总的来看这次比赛,时间分配和决策上有失误,但都不是主导因素。该 A 的题没 A,主要还是心理素质,看到时间少,看到别人过了,就自乱阵脚。
但其实 ioi2017day1 都有匈牙利小哥最后 30s 的提交翻盘夺回 rank1 的事例,说明在竞赛中,一定要把握好自己的心理,千万不能慌。
其次就是分析问题不到位(T2 写 sp(b)fa 即是一例),对经典算法和数据结构不会灵活套用(例如 T2 的二分和 T3 并查集),导致翻车。
或许终究毕竟还是 too young,还是要学习一个。