距离比赛已经过去了好几天,按理说这篇总结不应该现在才写。实在是不想再回忆那场比赛,心痛。这两天心情稍平复了一下,回忆一下比赛的过程和感想。
比赛一开始,codeblocks打不开,等了一会,找场内老师,给我们换了一台电脑。算是一个不怎么愉快的插曲。弄好电脑后,审题,开始做题。我从后往前看题,最后一道题,刚看了两行题,就感觉这道题跟某个赛区的网络预选赛很像。但我清楚地记得,之前那道题也是我审的题,当时跟刘妍交流的时候,这道题就不会做。赛后也没有补题,之后就没敢往下看这道题,万一是相似题就很扎心了。再往前看题,倒数第二题和倒数第三题都是通过率比较高的题。但题意真是个谜,倒数第二题还好一点,倒数第三题就简直了。这时候签到题已经完成,陷入了没有题能做的尴尬地步。之前写的G题,找x,y,z<n,x^2+y^2+7=z^2,有几组数据符合条件。用的双重二分,来减小复杂度。但是有点问题,调不出来,而且G题当时都没有过的,心里也有点发怵,不大敢弄 。我倒是觉得吧,G题这种的处理数据满足方程的问题,一般是那种比较难的数学题,而我看到这种题,只能想到暴力打表。虽然,这个表一般打不出来。然后分头读题 ,倒数第二题和倒数第三题,看了半个小时的题,逐句翻译,还是有点迷,最后根据样例猜了一下题意。感觉差不多了,交流了一下。当时感觉这道题细节会比较多。我想的是跟递推递归专题做的那个螺旋方阵问题类似,改一下递归的条件就可以。但当时觉得没必要这么麻烦 ,队友直接用dfs做的,dfs停止回溯的条件不大好写,改了好几遍,收获了好几次WA,最终可算是A了。其实在WA过程中,我特别想提议把代码改成36个if,输出图形,当时心态实在是太烦躁了,只想着数据范围这么小,直接用最暴力的方法解。A了之后很开心,查了一下榜单,心凉了半截,从77名到差不多最后,全部都是两道题。
距离比赛结束还有两个小时,做的比较多的题,除了A了的两道题,还有倒数第二道题。做出来的题还是比较集中的,有一部分队过了E,分工写倒数第二道题和看E。比较欣慰的是最后一道题A了的也是寥寥无几,E貌似是一个奇怪的魔方,仔细看了一下题意,看不懂,没搞明白它是怎么转的。然后就开始了倒数第二道题的TLE之路,这道题所有的字符串总长不超过50万,实在是不明白为什么会一遍一遍地TLE。用dfs做的,加了好多剪枝,后期队友还在一直往上加剪枝,没有什么用,说好的dfs+合理剪枝可以和dp复杂度相似呢?我猜可能是算法的问题,A
A了的队耗时才100ms+,不过当时也想不出来更好的办法。
结果自然是很扎心的,感觉自己除了A水题快了一点好像没啥长进。一年前看到题的想法,模拟,暴力搜索 ;现在看到题的想法还是这样。
沉潜一下,回炉重造吧。就当这是一次教训,毕竟知耻而后勇。