一只菜狗的ACM生涯
大学四年转瞬即逝,毕业之前,我想记录一下我大学里最重要的一段经历:我的ACM生涯。
刚上大学时,我完全是一名编程小白,就连int是什么都不知道。当时抱着随便搞点创新学分的想法,于是就随便报了一个叫蓝桥杯的大创,当时打算混个奖就完事了。但是后来我去听了一下蓝桥杯/ACM的宣讲会,得知有的学长在拿到ACM区域赛银牌之后,本科毕业后就能拿到不错的年薪,而且去打比赛还能公费旅游(但是后来我一次线下赛也没打过),最重要的是算法竞赛是机器判题,不是人工判题,所以是非常公平的。这使我对ACM产生了极大的兴趣,从那之后我打算要好好学习算法,争取也拿一些ACM奖项。
报名蓝桥杯大创后每周会有打过算法竞赛的学长给我们授课。但是刚上第一节课的时候我就懵了,因为第一节课我就完全听不懂,当时只记得讲完了循环,我翻了一下大一C语言的教材,发现第一节课就讲了我们C语言教材几乎一半的内容。当时就有些害怕,这个比赛好难。后面我把几乎所有的课余时间都花在学C/C++上,我现在清晰的记着,我当时花了整整一周的时间才搞明白一个二重循环。
在19年11月份的时候,我差不多掌握了基础的C/C++的语法,也通过完成学长布置的课后作业,完成了一些简单的算法题。当时我们ACM教练罗总的要求是刷80道题就可以加入ACM集训队,我就又做了几道简单题凑了80题加入了集训队。在12月份的时候,学院举办了为我们新生赛,在正式赛的时候,我一上来10分钟两道一血,但是由于我学的算法太少了,导致一共只做出了三道题。第一名是在高中就拿过noip省一的姜队,AK了所有题。我都不知道他是怎么想出来这么难的题目,要是我也有这样的实力就好了,于是我就以达到姜队一样的水平为目标,开始每天7、8小时的疯狂训练。
后面因为疫情,大一下学期在家上网课。因为网课很水,所以我就一直挂着,然后刷算法题,看题解。当时也是很焦虑,因为我实在是太菜了,刷题时遇到一些稍微拐个弯的题都做不出来。终于在4月份的时候,我们教练让我们集训队的队员参加一场牛客上的训练赛,我在比赛前最后一刻做出了一道“二分+最大流”的题目,并且在全网3277名参赛者里排113名,姜队还在集训队的群里面夸了我一下,这给了我极大的信心。
在20年暑假,要参加秋季区域赛的队员要三人组一队打杭电多校。我和同届的lty和lwj组队,我们三人积极的参加了所有的10场比赛,赛后也积极补题,最好的时候能做出4、5道题,本以为秋季能一起拿个铜牌,但是现实还是狠狠地打脸了。
因为疫情4月的蓝桥杯被延期到了10月份,在20年9月份回到学校之后,不久后就开始了蓝桥杯省赛,我意外地在省赛拿了一等奖进入了全国总决赛。因为疫情,11月份国赛上海市这边是在上海大学打,我在国赛中又拿到了二等奖。当时我也是很自信的,毕竟学习了很多偏难的算法。但是,之后的ccpc区域赛,我们队只做出来一道题,排名是几乎全场倒数。这对我们的心态产生了很大的打击,甚至一度想放弃这个比赛。
后来我和两个队友商量了一下要不要继续打下去,两个队友因为要保研和做项目(ACM太花时间了),所以就退役了,但是我还想再试一试。在20年12月份,我和刚来的大一新生hys组队,他高中拿过noi铜牌,和我们完全不是一个等级的,在icpc南京站,靠hys大佬,我躺着拿了一块银牌。当时很多人劝我可以直接退役了,但是,我总觉得很愧疚,因为这不是我的真实实力。再三思考后我还是决定再打一年。
我反思了一下上次ccpc打铁的原因,不是因为我算法学的少(当时已经学到动态树了),而是思维很差,导致遇到一些简单的二分题都没想出来,我觉得最大的原因就是比赛打少了。于是在大二寒假,我和hys,还有几个和我同届的集训队队员nwd、hyj一起打codeforces冲分。我当时一心想冲到1900分上紫名,但是我打了整整一个寒假,一次比赛没漏(大年初一也在打比赛),结果还是个蓝名。开学之后也是每次比赛几乎不漏,每天在机房和同学打到凌晨12点半才回寝室,半路上也会讨论一些题目的解法。终于在21年3月第一次冲到1900分,上了紫名。后面虽然又掉回去了,但是比赛我还是一次不漏照常打。
在21年暑假,我和低一届的lhr,zjt重新组队,备战秋季的ACM区域赛。在暑假经过杭电多校和牛客多校的训练,终于在ccpc桂林4题拿到了铜,在icpc沈阳5题拿到了银,在icpc上海6题拿到了银。在这些比赛中,我的贡献还是非常大的,这下总算能对得起这些牌子了。
在21年打完区域赛之后我大三上也基本结束了,因为还要找工作的原因,所以ACM这边也只好退役了,但是有个很大的遗憾是没打过现场赛,没能体会到现场赛的氛围。
现在回想一下ACM带给我了什么,代码能力、逻辑思维能力,但是我觉得最重要的是带给了我自信、还有和一起奋战到深夜的队友们的一段段难忘的回忆......
#ACM话题##大学回忆##ACM##ACM-ICPC#