我的ACM训练历程

时间:2022-01-10 09:49:13

2015年10月25日,我在沈阳市东北大学刘长春体育馆参加了第一次ACM区域赛,经过了紧张的5小时,以一枚铜牌收尾,从此算是暂时结束了我的ACM训练历程(明年看情况决定是否参加)。


回想整个比赛过程,第一个通过的是B题,队友用了strstr函数暴力过了这道题,排到第29名,甚为欣喜!一个小时左右,终于找到了D题组合游戏的规律后过了(WA了一次,一开始找错规律了,随后发现要用gcd),位于银牌区的35名左右。然而不幸的是,后面的4个小时,我们再也做不出题了,M题和F题一直到比赛结束的那一刻都没能做出一道。不过我并不后悔,因为我真的用尽全力思考了,没有做出来实在是我们队能力有限,毕竟是第一次打,还需要学习的地方太多太多。在这次比赛中,亲眼目睹了岛娘凶残的7道题全部1Y,封榜之前一直在第一名。也目睹了北航的昂神最终以题目取胜,勇夺第一的霸气。我和他们不是同一个级别的,因此只能仰望这些大牛,也很羡慕他们可以做出来这么多题,顺利晋级世界总决赛。曾经,我也有过世界总决赛的念头,但是现在显然是没有实力去冲击WF的。听说岛娘已经打了12年的算法竞赛了,终于圆梦了WF,这真的是一个活生生的励志故事了。


回想自己,从大一连C语言都不知道是啥,到如今可以参加第一次区域赛,我亲自体验了这中间的一切。还很清晰的记得,我第一次参加的算法竞赛是2014年编程之美的资格赛,C题是一个需要用网络流才能解决的问题,却硬是被我用自己笨拙的办法过了小数据。从周五晚上到周日下午点名之前,我花了整整2天时间。快一整页的WA,到PE,再到最后的令人眼前一亮的AC,我真的是激动地欢呼起来。(那时,还不知道网络流到底是何物,看了题解也是一头雾水)从此决定“入坑”。


入坑的时候,根据学长的建议,我买了本紫书和大白书,开始了个人训练的历程。其实这之前我也看过电子版的小白书,但自从第一次参加校赛就被虐的体无完肤后,我决定想抽空踏踏实实从头学一遍。而决定入坑的那天,就是我开始行动的时候。刚刚买来紫书的时候,翻了翻,感觉自己会度过一段充实的暑假了。不过实际情况是,暑假并没有做太多的题,暑假后的我开始紧张的大二上学期,一大波课程,我没有太多时间来学习算法竞赛了。然而快到期末的时候,算了算时间,发现时间已经所剩无几了,那个时候紫书才刚刚学完了第4章,后面一大堆东西都没有学,而时间只有不到一年时间了。于是我决定期末考完后,就立即开始紧张的学习中。整个寒假,我都是在电脑旁度过的,从早看到晚,终于算是在寒假结束前,学完了第一遍的紫书。不过那个时候我还从没有打过一次在线的比赛,队友建议我赶快打打CF练习一下。于是,在大二下学期,我打了第一场CF,做了2道题。


其实,队友在大二上学期时候就建议我赶快打CF,但是我以没有学完基础知识为理由,没有打。随后我发现,即便自己真的学完了基础知识,也并没有立即看到想象中的飞速进步,随后的CF,一场不如一场,那个时候第一次有一种挫败感,感觉自己真的不是一般的弱,需要努力和学习的东西太多太多了。然而抓紧复习了学过的内容后,情况并没有太多好转,最后我决定,停止打CF,开始学习大白书的知识,等学的差不多了,再来打。大白书的内容比紫书多得多,内容更加偏向于真正的竞赛题目,每个知识点都是大量的例题讲解,给我的感觉是:把这本书学扎实了,将来拿金牌一定是不愁的。然而问题是,我只剩下半年多的时间了,这本书无论如何都不可能达到“学扎实”的程度。能够全部扫盲就已经很不错了。到了6月份时候,又是一次校赛,这场校赛我满怀信心地参加,果断比大一参加要好很多,拿了校级的一等奖。一年前的“屈辱”终于在得奖的一刻烟消云散了,感觉好极了。但是接下来的省赛选拔赛,我们队却是当头棒喝,20支队伍,前10支队伍可以去打省赛,本以为这是板上钉钉的事,硬是最后没能打到前10名,我们队所有人都惊呆了,出校门小搓了一顿,好好反思一下接下来应该如何训练。毕竟只剩下2个月就是网络赛了,而水平却是这么的渣,连个PK赛都没有达到名额。不过非常幸运的是,听说大连举办了东北地区的邀请赛,正好当时所有队伍都去打省赛了,只有我们队有机会去参加,于是,我们队很快就决定了:参加!经过了PK赛的教训,我们又准备了一周左右,主要加强思维题的训练和配合的练习。随后于6月5号飞往大连。


大连邀请赛,我们发挥的算是比较正常,做了4题,很惊险的拿了一个二等奖,获得了一个沈阳赛区的名额。然而没有想到的是,最后的网络赛竟然打的如此悲惨,幸好手中握有这棵救命稻草,否则区域赛真的可能就此夭折了==。暑假的时候,我只在家待了一周就返回了学校,开始紧张的训练中,前期主要是个人训练,我们三个人各自查漏补缺,这样一个后果就是,伴随的多校比赛,我们只合力打过一次,其他几次都是联系不到队友,,导致都是在单挑,被虐的很惨==。每次多校比赛,我的心情都是极度崩溃的,比赛完看到别人的做法都是我根本不知道的,沮丧的心情就更加深重了。还是感觉自己不会的太多了,补不过来了==。到了九月初,个人训练算是结束了,我们开始加强组队赛的练习,每次都是往年区域赛的真题。起初,我们的目标是达到做5题的能力,随后发现,以现在的水平,这是不可能的。打了4次组队赛,分别做了1,2,3,4题,本来要打第五次的,但队友要准备数模国赛而夭折了。。这样,一直拖延到了网络赛,长春赛是我们第一次打网络赛,但是缺了一个队友(那天正好是数模国赛),题目并不难,但是只做出了2题,郁闷地训练了一周。。第二场沈阳,终于做了4题,在校内的排名一下排到了第二名,心情大好。然而,这真的只是昙花一现,第二天的北京网络赛是最惨的一次,只做了2题,一下子成了倒数第一了。。。最后的2场上海和合肥也是只做了2题,惨淡的收尾。


网络赛打成这种惨状,我们队伍又是陷入了忧郁之中,我觉得队伍的主要原因在于暑假的个人训练由于没有集中在同一个地点训练,导致训练效果很差,要么仍然有不会的知识,要么是训练过的东西又忘掉了。于是,我们讨论后决定,从十一放假开始到区域赛之前,每天都是一个专题的个人训练,保证到时候遇到相应的专题时候,我们都练过相应的知识点。这样,通过十几次的专题训练,大白书上没有的知识点算是彻底扫盲了。但是难的知识点依旧是没有能力掌握扎实了。不过对于拿牌已经是没有任何问题了。接下来的事实证明了,我们的确有了拿奖牌的实力,但是想要进一步拿到银牌或者金牌,显然还欠缺火候。。。


以上就是我所有的ACM训练经历了,这学期肯定是不会再大量刷题了,欠的功课要赶快补上了。总之,这段准备经历,让我更加深刻的体会到了坚持的重要性,虽然我们队伍一直很弱(到区域赛也是很弱),但是却一直是在进步状态。每个人都在进步。我也是亲自看到了自己如何从一个菜鸟进化到一个最最初级的选手这一过程。真的如那句老话“世上无难事,只怕有心人”。只要一个人真的踏踏实实地坚持到底了,做题时候尽可能地去独立思考,能力一定是在提高的。要相信自己日日夜夜的付出终有一天是可以看到回报的。


以上就是我自己的ACM训练经历,与君共勉。