2018 ICPC 徐州现场赛

2018ICPC徐州区域赛,这是我第一次参加的ICPC比赛,经过五个小时的奋斗,最后拿了一个铜奖。虽然对于各位dalao这次的题可能并不太难,但是我们队卡到比赛结束也只做出了A题,而且罚时几乎要排到铜尾。不过这次比赛对我来说真的非常有意义,我在ICPC赛场上做出了第一道题,也拿到了第一个ICPC奖项,还收获了很多宝贵的经验。

回顾这次的比赛,开局一眼望去就觉得没有水题,我看了下C题和F题的题面,但都没完全读懂,直到20分钟左右清华过了第一道A题,全场就开始跟榜了。然后我就一直在看A题,A题的题意是求图中所有最小生成树的权值和,即最小生成树的权值和乘上最小生成树的数目,其中每一条边的权值以及连接的节点都随机生成,接下来就介绍了一种计算最小生成树数目的算法。当时我看到这题连算法都有介绍,觉得挺可做的,结果整个人处于梦游状态,单是理解算法就想了一个多小时。实际上算法的思路就是将边按权值分块,分别求出每一块的生成树数目,全部相乘就能得到结果了。我觉得这个代码很复杂,所以就找写代码比较熟练的队友来写题,讨论了半个小时又写了差不多一个小时才搞定,满怀期待交了一发,然后就WA了。当时比赛已经过半,大家都很紧张,要是连A题都做不出就爆0出局了。我突然想起题面有提到如果最小生成树不存在,那么结果应该返回0,还有就是求每一块的生成树数目时也要对生成树分块处理,和队友讨论了一下就继续改题了,最后又调试了一个小时左右,改完交上去终于AC了。我们做A题花了差不多三个小时,心态已经爆炸,就想着再苟一道G题,结果一直到比赛结束也没有想到做法,反而是随手写了下M题,觉得有点思路,不过也没有时间了。虽然我们只做了一题,但全场做得都不太好,靠着极限的罚时我们最后还是拿到了铜奖,有遗憾但也足以安慰自己了。

出来之后听说这次的榜全部歪了,I题才是签到题却只有一个人做,还有好几题不比A题和G题难多少,却也少有人取开题。然后A题的正解居然是直接构造最小生成树就行了,由于随机数生成器过于给力,根本就不会出来两种以上的最小生成树,只需要特判0就行了,我真实感受到被dalao们智商压制。这次比赛给我的感觉和平时训练完全不一样,在赛场上无法知道题目的难度,跟榜也不意味着就是正确的选择,在全场开题失败的时候,完全读懂每一道题目才是最佳策略,有好几道题我都是只读懂一半,看着没人做就懒得去读了,实际上与其硬刚一道题,不如多尝试一下。平时训练就是手速场,先把水题拿下,再慢慢刚题,但在比赛中,我发现明面上的水题几乎是没有的,不管什么题至少也要读懂题意,稍微启发一下思路才能确定难易,所以我们这次最大的败笔就是想着大家都在做的题一定更容易想出来,特别是最后我不应该和队友一起去刚G题,因为我一点都不熟悉G题,听到题解后我也认为这道题对于我来说不可做,而M题则更适合我发挥。

无论如何,这次比赛让我明白了,在实力之外还要掌握做题的技巧,只有全面掌握题目的信息才能作出最佳的选择。虽然不知道以后还有没有机会参加ICPC的比赛,但我还是会以这次的成绩鼓励自己,向着更强的目标努力。

你可能感兴趣的:(随笔)