ACM退役总结

作为一个很久没有参加过训练赛的老油条,这应该是咕了很久的退役总结

眼看学期快过半却迟迟没有开学的意思,原本还想上半年打完最后一场比赛,但现在看来可能无法实现。

在连续几周的笔试面试之后,准备的过程,与面试官交流的过程中都学到了很多,同时我也成为了一个有实习offer的人。虽然还不知道该做出怎样的选择,也不知道未来的路是不是顺利的,但我知道只用考虑这道题怎么解的时期已经结束,我将面临新的挑战。

退役。既是告别,也是启程

1

你为什么要参加ACM?

这个问题总是有无数的回答,面试官问我的时候我会笑嘻嘻的说just for fun

作为一个零基础的小白,我并没有什么信心。“高薪就业,报送名校”,这种话总是很吸引人,可看到这个难度,我觉得我做不了。所以一开始我是被舍友怂恿加入到acm俱乐部,遗憾的是,他们并没有坚持下去。在寒假集训的日子里,上课也听不懂,自己做也不会,训练赛还天天倒数。别人两三下做出来的题目,我要想很久。“我应该迟早会被刷下去的”

但是一天天的,102机房的人越来越少,虽然训练赛的名次依然倒数,但是正着数下去,好像我一直在进步。反正也能学到东西,那我就死赖着不走,等到被劝退那天再说吧。即使回到家里,我也没有错过一场训练赛。我是这么跟我爸妈介绍的:这种比赛有四种等级,金银铜铁,我现在的水平就是常年铁牌。但总有突然开窍的时候,排行榜显示的名次是铜牌,我会为此高兴上半天。

我也一直在想,为什么他们总是做得很好,而我该怎么努力呢?

然后写了第一篇博客,一开始都是动态规划,在那个时候我的眼里只有模拟,贪心,搜索,找规律,动态规划,动态规划应该是最难的,如果我把见过的所有动态规划的方程背下来,那我应该会变得很厉害。然后每次比赛先在纸上写

模拟,贪心,搜索,找规律,动态规划,遇到题目一个个对着看

然鹅事实上,动态规划总是有各种各样的转移方程,也总有模拟贪心解决不了的题目

就这样迷迷糊糊成为了一个acmer,我想变得厉害,成为我想要成为的样子

2

每天敲敲代码,学习新的算法,看上去也充满了乐趣

但是acm是比赛,比赛是残酷的

最开始组队的队友是浩哥和老张,都是一开始零基础的,但他们的表现显然比我要好多了,同时他们应该算是实验室话最多的几个之一。

在组队之后我才知道之前的单打独斗是多么虚度年华。也算是入门了小半年,我连复杂度都算不清楚,只能做出基本的题目。只会记住之前的题目是不够的,面对一道题,如果我实在不熟悉,我根本没有自信,但是老张会去思考,会尽量去想解决这个问题的方法。浩哥当时自称“dp之王”,虽然有些吹牛的成分,训练赛时候的动态规划题也能想到状态转移方程。后来老张去了正式队,我和浩哥还有lg组成了新队伍。

省赛的时候虽然是友情队,但有参加比赛的机会我也很高兴。比赛的时候我过了一道假题,一道没有数据的假题,通过之后我还高兴了半天,我似乎真的变得很厉害了。

但是赛后知道我的那种过于暴力的做法本不应该通过这道题,信心很受打击,看到有些正式队因为这道题没有拿到很好的名次,而我这个根本不会这道题,根本不会算复杂度的人做出了这道题,我很难过。虽然我不是正式队,但其他学校的队伍肯定有很多不理解这道题的人ac了。努力不够实力不够的人却拿到了很好的名次,这不是很残酷吗?

看到回去的车上他们失落的表情,我不知道这个时候该有怎样的心情,是高兴我拿到了一个假银,还是为我这道题感到羞耻。我还是没有变得厉害。

下半年区域赛,和浩哥,lxq大佬组队。dalao的称号不是白叫的,思维能力和代码能力非常好。在一个暑假的努力之后,我们侥幸拿到了区域赛的名额。

在徐州区域赛,我才知道现场和平时训练完全不一样。看到题册每道题都巨长无比,我感到非常迷茫。周围一圈,一个小时都没有看到一个气球,排行榜上过A题的人越来越多,但是这题目老长老长的,这该怎么写啊。在读题了两个小时之后,我们才看出这是一道裸题,然后我们通过了唯一一道题,拿到了铜牌。虽然拿到牌子是我们的梦想,但是做一道题就拿牌,让我仿佛重现了省赛之后的感觉。我应该并没有实力在大二就拿牌。比赛的残酷,为什么总让我这个半吊子享受好的结果。

可能因为徐州区域赛表现得还好?然后我们拿到北京区域赛的资格。我想凭借自己的实力拿到牌子。北京区域赛的题目很好,但是我们却做得不好。首先在签到题上,因为想着是签到题,dalao应该会做出来。而我们想着每个人多看点题,简单题就让一个人敲了。在看到题目之后,我的反应是一个很简单的拓扑排序,没有任何交流,dalao就去敲这个题,而我和浩哥就去看其他题了。听着键盘啪啪响,就这样过去了很久,她那到题做不出,而我其他题想不出,因为之前曾经说过不要在别人敲题的时候影响思路,然后我根本不敢说我的想法。一个小时之后等dalao主动问的时候,我才知道她想复杂了,说出我的想法之后,一个本该很早做出的题目拖了很久。

后面我还被一道简单的二进制划分卡了,但是还窃喜发现了假规律。另外一道模拟题dalao在做,最后也没做出来。后来我一直在想,如果当时我们看一下对方的题目,是不是有不同的结果。现场比赛就是平时训练的反映,平时训练的时候我总是抱队友大腿,难有自己的想法。说着自己要负责图论,但其实只会套板子,也不会背后的原理。可能正是平时训练的懈怠,让我们第一个打铁。

打铁的感受是刻骨铭心的,我希望去弥补遗憾,我要更加努力才行。

但事实上,我并没有做得很好,对于我这个每天都在虚假的努力,没有完全投入训练的人,遗憾总是越来越多

3

如果要问我最印象深刻,影响最大的时期,我觉得应该是大二后的那个暑假,备战2019区域赛的时候。我和徐队,dalao组队。这段时间其实很难受,训练赛的时候总是不顺利。

我的队友很强,而我总是拖后腿

与往常一样,我还是负责图论,可是每次图论的思路基本都是队友提供,而我总是一个无情的板子机器。遇到稍微有思维量的题目,我很难想到,当每次被队友催促“你倒是想一想”,我总是不在状态,根本找不出问题出现在哪里,可能我就是菜吧。cf也不常打,训练也不认真,只会板子题,只会不断的犯错。徐队可以手敲好几个线段树,主席树,自动机,而我只会套板子,读题也总是出错。总之我变得像是小白一样,困难与打击让我总想逃避,但我很讨厌这样做得不好的自己。

训练赛成绩是跟最后区域赛的名额挂钩的,不顺利的时候伤心的不只是我,还有队友。有些时候也总会说一些抱怨的话,我深知自己做得不够好甚至拖累了队友,在伤心难受的时候甚至差点哭了出来。但是他们很好,总是能包容我的错误,总是会鼓励我继续努力下去。

“没关系的,多补点题吧”

为了能够更好的训练,国庆的时候我大姐结婚,刚开始我还一时脑热说不去了,怕辜负了队友。后来被家里人狂骂,被实验室里的人笑话和不解,我也马上意识到我的错误,乖乖买了去辽宁的机票。见到了几乎一年没见的家人。

在我姐婚礼的时候,我哭得挺厉害的,因为我的冷漠和不关心,伤害了家里的人。

遗憾总是会越来越多,想尽力去弥补,可能不经意间伤害了很多人。我在后悔,两年的时间,我到底学到了什么,如果平时再努力思考一会,再认真一点,也不至于现在的样子。

我的最后一场区域赛,还是在徐州

虽然之前一直在说要避免平时训练赛的错误,但是一开始我们把平时的错误犯了个遍,艰难地签到了三个题。最后一个题,到最后半个小时才知道要敲一个两面长的大数质因数分解的板子。然后dalao敲着模板,我们一行行地对比,最后徐队改了一会,在最后9分钟交了这个题,返回ac

我们拿到了一直想要的银牌,虽然是银牌榜的倒数

4

我的流水账记完了

如果说我最有成就感的事情是作为acmer参加比赛,我最遗憾的事情也是在参加acm期间并没有做得很好。希望能带着这些遗憾,继续努力。

感谢你们看完了我无聊的流水账,下面我想写点建议

  1. 训练赛的时候一定要诚实训练,认真投入,好好补题
  2. 对可以作为模板的算法一定要理解清楚,对于常用的一定要学会不看模板手敲,只有真正理解算法,才能立于不败之地
  3. 多刷点cf,坚持下去一段时间肯定有长进
  4. 变量名和函数名取得好看一点
  5. 带过去的模板一定是敲过验证过的
  6. 上课好好听讲,基础也是很重要的,c with stl 是不够的

推荐书目:

  1. 算法竞赛进阶指南:出现在里面的代码一定要理解,很常用,例题要做
  2. 算法导论:虽然很厚一本,但讲得很详细,循环不变式方法的证明要会

找实习的建议:别等待 don’t wait

5

感谢张学辉老师

感谢和我一起打过比赛的队友

感谢实验室的小伙伴

感谢所有因为acm而相识的朋友

希望今后:

保持善良,不要忘记努力,不要辜负自己

​ 2020.4.19

原文地址:https://www.cnblogs.com/smallocean/p/12730646.html