Roshin 的算法竞赛回忆录(中)

启蒙

在接触 AcWing 之后,开始系统地学习基础算法,当时报名了 SCUACM 预备队(目的是为了 2 学分)同时还报名了 SCU RoboMaster 的选拔。因为后者和 AI 是强相关的,前者确实对保研没啥性价比吧(虽然现在根本保不上了哈哈)。

也正是因为同时报名了这两项活动,RoboMaster的作业完成和 SCUACM 预备队的考试完全冲突,两者我根本顾及不了,留给我的选择只有放弃 RM 或者硬着头皮一起做。显然我直接开摆 RM 作业一字未动,当时唯一的收获是体验了如何在 Linux 上配置环境。
为了完成当时的数据结构作业,看懂线段树,怒冲了 AcWing 的算法提高课,到现在才完成了 150 题。

由于放弃了 RM,留给我的保研手段不多了(大创、其他不太懂但加分高的神奇比赛),当时心中也萌生了放弃保研直接就业的想法。于是有了这条微博。

微博2

图中内容是 Java 语法。

后来的想法就很纯粹了,课下时间学习 Java,当时还买了 《Java编程思想》 准备攻读(现在tm翻都没翻过),9月份开学,我就刷起了 leetcode。后来知道实习工作的话 还需要学习 操作系统、计算机网络、数据库。
刚好后两者是大三上期的必修课,正值大二上,我心里一想,反正都要学要不就先选了反正认真学也不会挂科,大三上腾出来的时间还可以出去实习!

课表

骇人听闻的 40 + 学分课表。形容一下当时的生活就是,很难白天在寝室呆着。

9 月份结束,我的 leetcode 达成了月度每日刷题全部达成(抄了几题),其他计划没有一个实施完成(看 mysql,学习 java 等)每一天的开始,我总是会选择先上 leetcode 写完 3 个题或者当日的计划,每天很有激情的刷完计划内的题,周末打 leetcode 周赛,人菜瘾大。

记得是 9 月底的样子,有一场leetcode秋季组队编程赛,单纯好奇,为了参赛拉上了 dwj 和 lcl 组队在一教 A 找了个教室打,记得当时好像就写了3个题,我写了最简单的第一题,后面他们就卡后面2题,卡了好久,我去接了个水,
回来他们告诉我第二题过了(确实不懂什么地方错了调了很久)。lcl 给我们看了他第三题的代码,当时感觉那个题还是挺有意思的比较思维,
当时距离结束没有多久了,我看了一下他的代码,发现他的代码好像没有初始化变量,
我也不确定是不是,帮他改了一下。点击提交,返回绿色的通过! 当时 3 个人从椅子上站起来开始欢呼。那样的感觉是我第一次体验到算法竞赛的快感,也是网瘾的开始。

自那之后我便决定,好好地学习算法,课内的事情就课内尽量学就好了,课下时间重心放在多刷题提升算法能力。后来牛神建议我来参加竞赛,我心里还是有一些犹豫不决,不知道自己是否适合,但为了提升算法能力和代码能力,参加竞赛也算是个不错的选择。

转折

2021 年 11 月 14 日,第 46 届 ICPC 济南站结束,我看完了比赛全程,结束后询问牛神是否过了 C 题,他们一发通过了,第一站区域赛就拿到了铜牌,据牛神所说,若不是线上赛,他们是没有参赛名额,多校排名也不佳。

有一说一,牛神当时的铜牌确实很大程度的激励了我,经他了解和我自己大致推算如果我选择参加算法竞赛,大概率能拿到区域赛铜牌以上的成绩,对以后得就业有很大的帮助(可能并没有,但是打着很爽)。

从那之后我便全力准备寒假的集训队选拔,当时甚至想过,即便没有选进去,也要努力刷题训练,在暑假进入集训队并且参加区域赛。

参加竞赛的原因无非两个:

  • 我喜欢写代码,并且能和一群人一起写代码,自己一个人瞎琢磨项目也写不明白,天选码农。
  • 竞赛经历对找工作的确有所帮助,参加竞赛我更想挑战自己(作为从未参加过竞赛的人来说是这样的)。

崭露头角

时间很快的到了冬季集训队选拔,事先研究过历来的选拔赛,还是以 atcoder 与 codeforces 为主,国庆结束后开始参加 cf 的比赛,但水平有限,在绿名和灰名之间波动。。。

cf2

在 2021 年 12 月 19 日,我迎来了第一场 SCUACM 集训队选拔赛。

选拔赛1

rk 22/30 ,一题滚蛋,当时需要 3 题前 12 名入队,我只 AC 了一个 dijkstra 题目,花了我一个小时,然而签到题写不来,后面有一个简单 DP,由于写的 dp 题实在太少没写明白。感觉实力还差很多,但没有气馁,不过后来的一周确实还有点压力。

2021 年 12 月 26 日,第二场 SCUACM 集训队选拔赛,前期签到题的 AC 给了我极大的信心,最终以 rk 2 成功进入了集训队。(至今保留了录屏)

选拔赛2

正式选手是 rk 2,rk 1 是第一场没来打的 ZJOI 省一大哥,被 n+1 了,显然我们的差距不只是一道题

第二场选拔赛的胜利,算是给了我在算法竞赛上极大的信心(这对一个从未参加竞赛的我来说非常重要)。

选拔后的第二天,我 cf 打上了青名。当时的感觉,就是,woc,我太牛逼了,感觉比预期超出了很多,然后一个寒假都没有碰 cf。。。

选拔结束后,前队友雷老师,现队友韩老师,邀请我组队,一番考量后没有多想便接受了邀请。

直面现实

组队后我是准备做一个图论选手的,但雷老师说他有点小会简单图论题,然后我就去做一个废物数据结构选手,寒假大概每天平均训练时间在 3-5 小时,学会了基础的数据结构板子,如线段树,主席树等等,大概就是寒假的时间刷完了 acwing 算法提高课的 DP 和 数据结构章节的题目。

从 2022 年 2 月 5 日,开始记录自己的每天训练

退役前的训练记录

具体的可以看上面的记录。

期间经历了 打星昆明站(一题签到打铁),cf 苟上蓝名,省赛选拔失利没有拿到省赛名额(实际就是实力不够),5月底的校赛没有拿到金奖。

昆明

蓝名

好像没有写昆明的游记,简单概括就是,足够顺利的话还是能苟到铜牌,在我的第一场区域赛沈阳站游记中也提到了打星昆明参赛对我后续算法竞赛生涯的影响,它让我意识到了,在银铜区的选手,并不需要怎样怎样厉害高深的算法,只需要熟悉基本的技能即可。

那段时间队伍的 vp 成绩,就是铜尾到铁的水平,到了正式比赛,打铁就很正常了。

暑假前集训队选拔,靠着自己平时多于大多数人的训练量,还算比较稳地继续留在了集训队。

总之经过大二下学期的磨炼,我深刻认识了自己的垃圾水平,此时的目标依然只是区域赛铜牌。

posted @ 2022-12-18 14:14  Roshin  阅读(285)  评论(0编辑  收藏  举报
-->