Part 1
多刷题,多打比赛,短时间内提升自己能力的最好手段
依旧记得自己刚入队的那天,就有一场牛客的比赛,做了半天出来一道很简单的题,做的很自闭,很多很多题都是自己连思绪都没有的,虽然大家都是刷了vj的100道题才进来的,但是仍然可以理解为是零基础。
起初,我加入acm的目的是想有点事情做,我也感觉大学四年光听老师讲课,自己下课写完老师布置的作业就去放松打游戏去,有点太僵硬,太颓废,但加入了一个星期感觉自己也不是很适合打acm,当时也有想离开的念头。只能坚持自己多刷题,多打比赛,多整理博客。也不知道为啥,就感觉自己比赛起码能对一些题有些思路,但是不是很确定,往往得费劲想一小会才行,
我打的比赛不多,晚上效率低,所以我也不是很喜欢打cf,我一般都是打牛客(能中奖,白嫖不香么)或者重现cf。当然如果真的没有那么多的时间,还是建议多打cf,我很肯定我重现的cf场次绝对是我所有平台比赛次数最多的,当时9月份开学打网络赛的时候,我基本上一天要两场cf,来保持自己的解题思路和写代码的手感,cf的题绝对是最适合acm选手提升自己能力的。
Part 2
补题,写博客,写反思,平时做题养成积累模板的习惯
补1道题,可以堪比做10道新题,补题不是看着正确的代码敲了一遍,提交ac就算了,而是自己通过理解正确的做法并且自己看着题目自己敲出来并能ac,并且保证这个题的知识点已经掌握。
坚持写博客,当然这要建立在你多做题的基础上,做的题目一旦多了,你就会发现有些题你之前见过类似的,有的题甚至就是和之前自己做过的就是换了一种题意,这就体现了博客的重要性。我很鼓励大家写题解,大家做过的题无非三种类型:
第一种:能写出正确的代码并成功ac的
第二种:想的出来该怎么写,但是代码就是不对的
第三种:毫无思路的
这三种题,优先整理第二种的题目,其次整理第一种,最后还有时间再去整理第三种,鼓励大家三种都花时间整理,时间久了会有奇效。
对于第二种题,整理的时候,要写出来自己代码的错误,这样能保证自己减少因为马虎写错了代码,平时因为马虎多踩几个坑也不是坏处。第三种题,也是自己毫无思路的题,我能做的就是认真看一下自己有没有能力去学习,如果很难很难,比如DP、线段树、主席树,你可以不会,放弃也没啥大不了。觉得自己还有时间的就做一道积累一道,多积累了几道,慢慢也能写出来点题了。
一定要认真对待自己的博客,可以认为是学习acm的错题本,能认认真真的写完一道题的博客,其实不需要再去天天翻着看,你第一遍写完的时候,就已经记牢了这个题目,所以每次临比赛之前,我就认真看一遍自己博客错题,感觉踏实,起码自己能做出来的题不会错,这就很好了。
还要说一下模板的重要性,大家真的没有必要去买模板自己打印,不是自己的东西你能用明白么?你随便找本板子书,有些板子是干啥用的你都不知道,你怎么去套模板?现学?所以平时吧,遇到不会的题,但是题解给的答案很简略,那这题差不多,就是模板题,然后你要做的就是把这个题的最初始的模板整理好,最起码知道这个模板可以干啥,下次万一真遇到,那不就直接信手拈来?平时好好整理模板,正式比赛也不用犯愁了。
大家可以看看我的博客的标签,坚持整理就是胜利!
Part 3
acm永远是三个人的比赛,一定要对得起队友的努力
当你请假出去玩的时候,队友在补题。
当你每周就参加两场咱们自己周末的vj比赛的时候,队友在各个竞赛网站参加比赛。
那请问如果你通过五个小时的挂机,躺到了一枚金牌,你敢给面试官说你是一名acm金牌选手么?
这是个很现实的玩笑,希望各位一定要明白,acm是场团队比赛,别因为自己的懒惰拉低了整个队伍的水平,你可以自己躺大腿,但是最后还是害了你,你要明白自己在打比赛中获得了什么。
你可以在acm赛场上看到,三个人的水平都很一般,但是最后取得了很不错的成绩,那是因为人家配合的很好,大家一起调试代码,大家一起分析思路、纠错,各自取长补短,和三个臭皮匠的道理差不多,将输出最大化。
In the end
能想到的也就只有这么多了,最后一次写代码还是去年的5月份,半年多没写代码,真的是忘光了,也没法教大家一些实际的算法了,这里深表歉意,现在的能力肯定是不如各位的。
希望各位师弟师妹能坚持走完acm这条路,闫老师称呼我们每一届都是"炮灰",各位不要以我们为榜样,我也觉得我们是炮灰,非常期待各位拿到更好的名次,希望实验室的牌子++,努力不要有什么遗憾,干就完了!