【退役贴】再见了ACM,再会了算法竞赛

写在前面

心里话

2022ICPC昆明站告一段落,随之结束的是我两年多的ACM生涯。时间真的过得飞快,一个手里拿着蓝皮书一看就是一天的小孩子现在已经惘然地看着未来,从踌躇满志到脚踏实地,也只需要两年的光阴。非常遗憾再一次与银奖失之交臂。但更遗憾的莫过于疫情之下的比赛环境,线下比赛基本上全部取消改为线上,在2020~2022里我打了十来场正式赛,但只有一场在线下举办。除开遗憾,ACM带给我太多课堂上无法获得的知识,太多美好和喜悦。同时也结识了一些志同道合的朋友,有他们的陪伴,奋斗的路上也不会那么孤单。

ACM是什么

很多人会好奇,程序员口中的ACM竞赛到底是什么,为什么会具有这么高的含金量?

定义:ACM其实是国际计算机学会的简称,而ACM国际大学生程序设计竞赛(ACM-ICPC)才是竞赛的名称。很多人会对程序设计竞赛这个名字产生误解,认为这个比赛就是设计软件或程序供评委打分的,其实不是。通俗来讲,就是算法竞赛

其中涵盖的知识点:从古典算法到现代人工智能算法,从各类学科到脑筋急转弯。

评判标准:纯粹的客观机器判题,只有读入和输出文件,百分之百的公平!对就是对,错就是错,没有感情分和辛苦分。

硬核程度:所有985211最看重的比赛之一,与清北浙大等强校正面对抗,其中不乏高中时期参加信竞OI的天才选手。

回顾省赛&昆明

根据原先的计划,省赛会在杭师线下举行。本想着打了连续三年的省赛,总该轮到一次线下了吧?结果疫情再次爆发,阴差阳错之下,省赛和昆明变成了背靠背的比赛(两天两赛)。早在去年沈阳站结束后,我们队基本就进入半退役的状态了,没有系统的刷题而且大部分时间都被找工作或复习考研所占据,因此对于这次比赛我是比较悲观的。

省赛总体还是比较顺利的,除开队友开局将m写成n秒wa一发之外,我们在2小时左右的时间完成了7题,并且当时应该还是在金牌区的。然后悲剧就开始了,我直接将题面中的 ∧ \wedge 读成异或,然后坐牢二小时后发现是且的数学符号,就这样错失了不算太难的金牌数据结构题,赛后懊悔不已。

第二天的昆明就没这么好运了,我翻开题面一看直接两眼一黑,密密麻麻的题面中挤满了expectation。由于队里没人擅长期望题,在做完签到题后开始长时间坐牢,最后紧急跟榜写了一个构造题和一个看似的树形DP的结论题,三题草草收尾,最后看榜发现居然又是铜首?

收获

下面是我大学以来所有的ACM奖项(校级到国家级)
每一场比赛都留下满满的回忆,有绝杀的喜悦,有失败的不甘

校级

名称团队奖项
2019新生赛二等奖
2020校赛三等奖
2021校赛一等奖(rk3)
2022校赛一等奖(rk2)

省级

名称团队奖项
2020浙江省赛优胜奖
2021浙江省赛铜奖
2022浙江省赛银奖

国家级

名称团队奖项
2020 CCPC威海站优胜奖
2020 ICPC上海站优胜奖
2020 ICPC济南站优胜奖
2021 ICPC邀请赛西安站铜奖
2021 CCPC桂林站铜奖
2021 ICPC沈阳站铜奖
2022 ICPC昆明站铜奖

付出

所有的收获都离不开辛勤的付出。

2020年的暑假,那是我正式加入实验室的时间,按照惯例暑假是有7周的训练要求。因此当别人在游山玩水,朋友圈里充斥着假期的喜悦时,我要在实验室里按照996的作息(每天12小时的打卡时长)。算上牛客多校和杭电多校,基本上是2~3天会有一场比赛,在如此高强度的比赛之余还要去学习新的算法,理解消化新的题型。这就是我的大学生活,虽然看起来枯燥乏味,但其中的乐趣可能只有体会过才能懂。

刷题的记录:
牛客网:
在这里插入图片描述
洛谷:
在这里插入图片描述
CodeForces:
在这里插入图片描述
HDU OJ
在这里插入图片描述
总计超过2k的刷题量

选择ACM竞赛的原因

首先必须要申明,ACM确实是 收 获 付 出 \frac{收获}{付出} 最低的比赛,有可能你为之付出了大半年的努力,但仍然拿不到奖。这确实是非常正常的事,当然也在我的身上发生过。那为什么我不去参加那些画饼大赛,得到所谓的好看的荣誉并且可能获得保研的资格,为什么我毅然决然选择呢?

  1. 兴趣和梦想
    虽然这么说很空洞,但它确实是我坚持下去的理由。我高中时期没有参加过任何的学科竞赛,只是埋头学习课本上的知识。我感觉我已经倦了这种学习模式,我渴望通过自学获得知识而不是一味的接受,因此我在大一的时候就已经下定了决心,要在大学参加一个有意义的竞赛,并且能为之奋斗的。碰巧遇上了ACM的宣讲会,结识了胡大佬NaruseShiroha,算是我ACM生涯的引路人吧。在那之后,我坚定了自己的方向,坚信ACM就是我想要的竞赛。

  2. 大厂的敲门砖
    人不能只为梦想而活,现实因素也非常重要。如今计算机人才井喷,越来越多的人陷入了就业危机。而我仅仅是一个双非一本的学生,凭学历和课堂上的一些教条如何与985以及211的学生竞争?因此竞赛是大厂的敲门砖,现在的互联网大厂越来越看重学生的自学能力,而ACM竞赛就是最好的拿得出手的荣誉。

  3. 世界一流的比赛
    ACM应该是至今为止我所参与的活动里面,最接近世界一流水平的。当然绝不是说我自己是一流水平(差得太远了),而是说以我的水平已经基本可以体会出在这个项目上世界上最强的那批人到底有多强。并且接触到领域内最强的人本身就是一种收获。

对一些ACMer的话

根据我的个人经验以及一些总结,在几个方面做一些分享(当然如果你是金牌爷或是银牌爷orz当我没说)

1. 刷题:在新学会一个知识点时,应该立即刷题巩固,而不是广泛的学习新算法。在刷完一套题后,尽量标记一下自己第一遍没有做出来的题,下次可以继续二刷。应当注重质量而不是数量

2. 训练:每周可以自己开1~2场个人训练和1场团队的训练,一定要尽量挑选比赛时间,这样可以更加真实地模拟比赛环境。而且在平时打模拟赛时一定不能三人三机,这样会产生依赖性,以至于比赛场上非常不适应。

3. 补题:补题是重中之重,不论是平时的模拟赛还是区域赛,补题都是最核心的部分。一个比赛中你做出的题都是你已经掌握的,那么剩余不会的题才是你进步的关键,这个硬骨头一定要啃下来。

4. 督促队友:比赛是三个人的事,作为队长,必须要时刻督促队友积极训练。

之后的打算

大三是一个十字路口,每个人到这个时间节点都有自己的选择和想法。我是一个相对保守的人,因此在就业和考研面前,我选择较为保守的考研。两年多的ACM竞赛也算是培养了我一定的自学能力和抗挫折能力,并且扎实的算法基本功也可以轻松通过考研二面的机试,这对我来说是一种优势。

到分别的时候还是有很多的不舍的,接下来学习的重心将转移到考研上了,非常荣幸可以接触到这样一个小圈子,伴我走过了大半个大学生活。同时,在这过程中我明白了两个事,一是努力能让一个普通人走多远,二是努力只能让一个普通人走多远。自此以后,我面对各种新东西多了一些自信,也少了一些不切实际的幻想。

by 一个普通的ACMer

  • 39
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
ACM Codebook(ACM代码手册)是一本整理了算法竞赛常用算法和数据结构的参考手册。它是为了帮助算法竞赛选手快速查阅各种算法和数据结构的实现而编写的。 ACM Codebook的内容非常丰富,包括了各种常用算法,如排序算法、图论算法、动态规划算法等。同时,它还包含了各种常用数据结构的实现,如链表、栈、队列、堆等。此外,ACM Codebook还介绍了一些常见的算法设计技巧和优化技巧,帮助选手更好地解决问题。 ACM Codebook的作用非常明显,首先它提供了各种算法和数据结构的实现代码,方便选手直接复制粘使用,节省了编写代码的时间。其次,ACM Codebook提供了详细的算法和数据结构的说明和示例,帮助选手理解和掌握这些算法和数据结构的原理和用法。最后,ACM Codebook还提供了一些常见问题的解决方案,帮助选手快速解决问题。 ACM Codebook的编写并不容易,需要作者具备扎实的算法和数据结构基础,并且对算法竞赛有深入的了解。编写ACM Codebook需要不断地修改和更新,以适应算法竞赛中不断变化的需求。 总之,ACM Codebook是一本非常有用的参考手册,它不仅提供了丰富的算法和数据结构的实现,还提供了对应的说明和示例,帮助算法竞赛选手快速掌握和应用这些算法和数据结构。它是算法竞赛选手在比赛中必备的工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值