今年我们队在ccpc桂林,icpc济南打铁,在最近的icpc上海打了个铜,属实是破铜烂铁了。想起去年的第一年参加xpcp的比赛,同样是两铁一铜的成绩。辛辛苦苦训练了一年,结果却是毫无进步。对于这个结果,我感到十分的难以接受。
如果说前两场是是非非太多,打铁可能是运气问题或者技不如人,那么最近上海站拿铜就是糟蹋了拿银机会。上海站B题的我完全会做,就差一个简单的容斥式子;明明一周前我们补到过一道容斥的题目,但是正赛却没能正确地推出来;明明队友已经想到了正确的式子,但是又被我和他一个好像不行给hack了。 结果就这样错失了银牌。直到现在,我都在幻想着,如果那时候能稍微质疑一下hack的理由,而不是想当然,结果可能大不一样了;直到现在,我还在懊悔,为什么那么简单的容斥,却硬生生卡了1个小时都想不明白。
这两铁一铜暴露了我的很多问题:
- 心态容易被影响,正赛上难以正常发挥。一到正赛就仿佛被加了降智buff。例如上海签到我卡了一时没绕出来,后来被队友救了。心态一乱,又容易影响思考的进程,容易胡思乱想。被卡了题,换题了会被前面卡的题影响。
- 训练方法不好,基本功不扎实。写过的题没有深刻理解,导致训练效果差,效率低,无用功较多。补题和做题对自己要求低了,觉得过了就行,管它wa几发,甚至wa了一次就偷懒看后台数据。平时训练如果没有正赛标准,那么正赛时就别想有训练的成绩。
- 思考习惯不好,容易浮于表层。对于一道一眼看不出的题,我有时容易陷入拿各种数据结构和算法去套,然后不停地乱试,却没有很好地利用到题目给的条件和性质;有了初步解法,没有用样例去验证的习惯;hack一个解法的时候,没有举反例,细想推导一下到底是不是真的错的习惯,而是依赖“题感”和直觉。理想的思路是抓住关键点,一路顺畅地走下去,出现歧路的时候认真分析那条路可以走,一旦决定掉头,肯定是这条路走不通了,最终准确地走向正解;但是我的总是这条路好像可以走,先走一段,发现好像走不下去了,又折回来。如此反复,在几条路中徘徊,最后看题解才知道一开始走的是对的。
- 缺乏灵感一闪的人类智慧。总感觉我不太机灵,很多时候思考不够活跃,有点自卑味道。可能和大学以来不健康的作息有关。
其实客观的想,那个B题做不出或许也是理所应当的。回忆起来,那个时候我虽然知道是用容斥,但是脑子中却没能清晰地跳出容斥的公式,我需要哪些集合的并集,这些集合定义是什么,怎么求集合的大小。我知道这个知识,我可以把它的内容和定义写出来,但是却没把它和它的用法和场景关联起来。而理想状态应该是一想到容斥,第一个反应就是容斥需要什么,对应题目中的是哪个部分。作为队内的数学手,这三次比赛要么卡思维,要么卡计数。之前也练了一些计数的题目,但是这次连续两次计数没解决,真的感到很惭愧。
时间过得很快,马上大三过完就要大四了,要忙着找实习了,正好也搞搞别的喜欢的东西。或许大四还会再打一场icpc,算是带着遗憾半退役了。尽管不甘,但是也怨不得什么,毕竟这些都是自找的。但即使如此,我还是会继续打cf,因为算法竞赛真的很好玩,目标是争取cf明年上橙。