算法竞赛回忆录

终于,我的算法竞赛生涯将永久地告一段落。总应该写点什么,即便是仅仅为了回忆本身。

注:这篇文章的完结可能需要一个月的时间。

更新:好像还是咕了。

更新:算法竞赛生涯又被续了,咕得名正言顺。

更新:好像又一次退役了,这次大概很彻底吧。队友在 Github 上的模板库提了“退役”的 PR,要求另外两个队友 review,收到那封邮件的时候,我真真切切地感到了,算法竞赛还是离我远去了。

缘起

写这样的文章似乎是一种传统,之前的我未曾有机会写下,因为我从来都不是一名合格的 OI 选手,所以也不必矫情。但如今经历了许多,有些人、有些事我不愿意忘却,所以试图用文字记录下来。

最初

  • http://oi.sipxhsy.cn/oj/ 一个现在已经无法访问的 OJ,大概一年前,我重新找到了它,不知名但是使用了数年的 OJ,我的 ID 是 yy00yy。其中有一部分叫做语法百题,曾经和同学以刷水题为乐,但如今一看,总共也做了不过数十题。遗憾的是,这个网站已经无法访问了。
  • 慌什么。虽然我没有亲历这个梗的诞生,但有所耳闻。就是训练的时候玩游戏被发现了慌得不行,老师表示慌什么。
  • 高中时,由于学校并没有信息学竞赛的培训(其他竞赛都有),所以只是靠着初中的老底去参加比赛混奖,虽然菜得不行,但二等奖的难度也确实低。(高中主要搞数学竞赛了,但就结果而言,远称不上成功。)

过程

  • 训练后的晚饭,周三通常会从下午一点训练到晚上六点,之后一起去食堂的内侧吃放,久而久之,有了一些仪式感。
  • 训练赛/现场赛在一年多一点的时间里打了一百多场了,wiki 上的一条条记录也见证了我们的成长。
  • 刚掉过一些比较困难的算法,多数都更在了博客上,比如 BM 线性递推,后缀自动机,支配树,圆方树,动态点分治,亚线性筛等。集训队论文也看了一些,挑了一些有趣/有用的学了,但是还有太多算法是我不会,甚至闻所未闻的。很遗憾,我并没有投入足够的精力使自己成为顶级的选手,只是马马虎虎学了一些基础算法。
  • 训练大家总是会迟到,倒也和谐,而且常常会出一些意料之外的状况,于是训练的开始时间往往会滞后差不多十五分钟。
  • 整个队伍都上了 Codeforces 的橙名,之后也没怎么打,以队伍训练为主。我不知道是不是自己是不是有实力上红名(浅红),但恐怕退役之后水平会日渐下降的吧。
  • 在某个赛点,好像是徐州,我零贡献了,但那也是我们出线的赛区。所以,可能其实并不需要我。不过当然也有 carry 的时候(笑)。

最终

  • 最终还是去葡萄牙旅游了。打了 18 年第一场 ICPC 后,kblack 就开始计算出线的希望。徐州赛区的 WF ADV 顺位 3 就像是悬崖边缘,想出线的话需要其他队伍尽可能多的重复,于是命运就仿佛被掌握在了别人手中。之后的每一场区域赛都非常关心场内的排名,甚至可能比场上的选手更加关心他们的排名。
  • 就 WF 的比赛结果而言,算是可以接受吧。这个题数很好地反映除了我们的水平,虽然也不是没有再多过一两题的可能,但总不该期待奇迹的发生。
  • 因为如果不能拿到奖牌的话,排名无关乎罚时的多少。于是从赛前训练起就养成了无视罚时的好习惯。由于提交的便捷(只要 submit A.cpp)和爆炸的心态,一通爆交,最后斩获同题数罚时倒数第二。神奇的是,由于学校英文名字字典序很小的缘故,看起来就像是罚时第一一样。

额外

  • 在退役之后,又参加了一个赛季的比赛。几乎没再训练过的我们保住了四次金奖(甚至在沈阳赛区夺冠了),算是 F0RE1GNERS 这只队伍从开始到结束,在区预赛中一直是金奖。
  • 参加比赛的理由,一方面是奖金,另一方面是情怀,还是希望能和昔日的队友再并肩作战一次,在赛场上讲讲相声。当然,其实还是冒着身败名裂的风险的,不过就结果而言,算是相当圆满了。
  • 在西安赛点,由于 K 操作失误,将饭票落在了酒店,于是我们在十字路口找背向食堂而行的选手化缘,最终顺利吃到了饭。
  • 西安赛点,由于队伍的名字中有百分号,导致无法打印,然后工作人员就把我们队名中的百分号删了。
  • 这个赛季里,并没有更新队伍的 Wiki,就像是从未存在过一样。

感谢

  • 小学时的班主任,推荐我去参加了学校中信息学竞赛的兴趣班。
  • 小学时的信息课黄老师,带我入门了编程。
  • 初中时的胡老师,每周给我们上课,督促我们刷题,给我们安排模拟赛,带我们出去比赛。
  • 高中时的信息课黄老师。虽然不教我们课,但借书给我们看,给了我们报名 NOIP 的机会(而且还有报销),给我们开假条,借机房给我们赛前训练(打游戏)。
  • 初中时一起训练的学长:zy, sjw, dcx,一起训练的同学:llr, ccw.
  • 以下就没那么久远了,可以说的太多,却又无法开口。
  • 量子鸭嘴笔的队友:hxw, jkx
  • F0RE1GNERS 的队友:ultmaster, kblack
  • 教练:肖老师,杜老师
  • ACM 实验室的各位
  • 各种网友(quailty,谈姐姐,dls,蔡队,葫芦娃,特斯拉,tldd 等等)

杂项

  • 为什么使用 yy00yy 作为昵称?因为纪念某人。
  • 为什么使用 zerol, zerolin, zerolfx 作为昵称?其中一方面是纪念某人。
  • 为什么使用 illusory 作为昵称?只是因为我中二。
  • 退役之后,还是打了一些线上赛。看到群里对问题的热烈讨论,想到曾经自己也是其中的一员。但是现在算法题的意义被削去了大半,成为了单纯的兴趣,可能也没什么动力补题或者学习新的内容了。
  • 代码像诗歌。指的是代码风格优美,且具有对称性。“我的代码就像诗歌,怎么就 WA 了呢?”

后记

要说算法竞赛对我的影响,总还是有不少的:

  • 代码能力的提升。
  • 自学能力的证明。
  • 团队合作。
  • 对自闭的抗性。