您的位置:首页 > 其它

繁凡的 ACM 退役记(一名普通算法竞赛选手与博主的竞赛生涯回忆录)凡是过往,皆为序章

2022-01-01 23:09 429 查看

文章目录

繁凡的 ACM 退役记

凡是过往,皆为序章 20000 。

  你好呀,我是繁凡!这里是一名双非 ACM 弱校的零基础菜鸡算法竞赛选手与博主的竞赛生涯回忆录。

  伴随着第四十六届 ACM/ICPC1 亚洲区域赛 2021 赛季的结束,小菜鸡繁凡的 ACM 退役记如期而至。尽管不会掀起任何波澜,但还是要为我大学两年的努力留下最后一丝回忆。这是第一次撰写 ACM 比赛相关的随笔,却也是关于 ACM ,最后一次的记忆。

  这篇退役记在 2022 年元旦才送达至大家的手中,但实际上我早在 2021 年上半年也就是在大二末的时候就已做出了退役的选择。至于为什么这么早就退役,其实很简单。当我意识到接下来大三一年就算我继续全身心投入训练也大概率难以获得超过我现有成绩的奖项时,答案其实已经很明显了,我必须为我的未来负责。

我的经历

  先简单地向大家介绍一下我自己叭!我呢,其实就是一个非常普通的小菜鸡,上大学以前没有接触过任何编程知识 ><。小学初中的时候家里管的比较严,一直成绩还算不错,中考考入了郑州市一所省重点的重点班。上了高中以后开始放飞自我,在高中打了几年游戏,王者三千把,炉石胜场上万把,大大小小各式游戏 “ 全精通 ” 以后,2018 年的高考,我交出了高考总分 347 分的 “ 完美 ” 答卷。我一直自认为是一个随性洒脱的人,尽管我的高考成绩如此糟糕,也确实一点高中知识都没有学,但我却完全没有不相信自己,没有失去希望。我选择了再来一年,抱着 “已经这么糟糕了,学会任何知识都是一种进步” 的心态,开始了一年没有任何压力的复读时光。当我能接受最坏的结果的时候,反而可能会做得更好。18 年 8 月高考 347 分开始复读,那时三本都上不去,19 年 6 月高考 567 分入学双一流大学计算机专业2,二百多天,没有什么天赋异禀,没有什么一步登天,有的只是日复一日的坚持和每天满满收获的喜悦。有趣的是在我 19 年高考结束直到现在,曾经一秒钟不玩就难受的游戏竟一次都没再碰过,取而代之的阅读、写作、运动、吉他,让我每天都过的充实而快乐 ^ 0 ^

生活似书,翻过这一页,另一页会有新的篇章。

对我复读经历感兴趣的朋友可以看一下我在19年写下的一篇知乎回答:你在高三是怎样大幅度提高成绩的? - 繁凡的回答 - 知乎,在两年后的今天,我的那篇回答收获的两万多的赞同以及近五万的收藏着实让我有些受宠若惊 >< 想到帮助到了这么多的人,一切的努力都充满了意义。

  当初选择参加 ACM 也只是为了图一乐,因为感觉 ACM 很厉害,所以希望自己也能加入其中,希望自己能玩的开心,能够从中学到一些知识,收获一些快乐就足够了。零基础的我没有想到竟然真的可以获得这么多奖项,写博客也只是为了记录学过的那些简单的知识和跳跃的灵魂,收到大家这么多的支持与鼓励真的太好了!

  这两年的经历也比较普通,作为一个很普通的零基础 ACMer,大一入学前的暑假简单地学习了 C 语言,简单地自己一个人训练了一年多的时间,简单地刷了不到三千道题目,简单地写了几篇简单的博客,简单地参加了几场线上线下比赛,简单地拿到了几个奖项,再到现在简单地退役。不过还是很可惜差一点就能凑齐金银铜铁,希望以后还能有机会(不可能再有机会了>_<)。

回顾过往

  其实简单回顾一下我这两年来更新的 707 篇原创 CSDN 博客 ,大致已经可以完整地勾勒出我的 ACM 生涯。

  2019 年 10 月 24 日,我更新了人生中的第一篇博客:「我的c错题本」,那时才学完 C 语言的我,刚刚侥幸成为我校 ACM 预备队的一员。在 1024 这个对于程序员最为特殊的日子,第一次在网络博客上传出了自己的声音。随后更新的若干篇洛谷和 HDU 入门难度题目的题解,无不昭示我正在为接下来 12 月初的 ACM 新生赛做准备。

  2019 年 12 年 1 日,如愿加入 ACM 集训队的我,正式开启了属于我的 ACM 之旅。由于听说在接下来的的寒假集训中学长会为我们讲解动态规划算法,没什么头绪的我开始了自学,完成了我的第一篇长篇博客: 【算法】动态规划+“背包九讲”原理超详细讲解+常见dp问题(9种)总结 。之后的 12 月、1 月、2 月、3 月寒假在家一直处于一种随便学的状态,自己拿着《算法竞赛入门经典》和洛谷一通乱啃,更新了 17 + 8 + 44 + 49 篇博客,自学了一些简单搜索,动规,简单数论,STL,简单数据结构,简单图论之类的基础算法。

  2020 年 3 月,受疫情影响,学校实行线上教学,闲来无事的我接触到了《算法竞赛进阶指南》这本书,立刻被它的通俗易懂所吸引,并因此了解到了 AcWing 这一平台,开始了《算法竞赛进阶指南》和 AcWing 算法提高课的双料学习,完成了《进阶指南》的学习笔记: 「算法竞赛知识合集 目录(博客中转站)」。除此之外,4月份的我还发布了两个 “ 大项目 ”。一个是 4 月 15 号发布的 「《数据结构》C语言版(清华严蔚敏考研版) 全书知识梳理 + 练习习题详解(超详细清晰易懂)」,那时学校正在上《数据结构》这门课,于是我就顺便整理了一下,没想到后来竟成为了我博客里访问量最多的系列。另一个是 4 月 13 号发布的「繁凡的 ACM 模板」 。因为某天在博客上看到大佬们自己总结的算法模板,便想着自己也总结一个。大概用了半年的时间断断续续地整理完毕,但是感觉整体质量不是很高,于是就有了后来的算法全家桶,不过那都是后话了。

  接下来 2020 年的 5 月、6 月、7 月、8 月,《算法竞赛进阶指南》学习笔记基本更新完毕,慢慢更新了大量的《ACM模板》,也完成了《数据结构》的写作,期间更新了 37 + 35 + 60 + 45 篇博客,三个项目有条不紊地进入收尾阶段。

  2020 年 9 月份开始学习计算几何和网络流,整理了《计算几何全家桶》,这个时候的我基本上把所有的图论知识都给学完了,题也刷了不少。由于队内没有数学手,原本作为图论手的我就临危受命,开始钻研数学板块。数学涉及到的内容非常的多:数论、多项式、组合数学、线性代数、概率论、博弈论、群论,每一个板块都意味着一个全新的领域,我喜欢这种挑战的感觉。在学习多项式的时候,由于多项式知识点较为复杂且环环相扣,很多大佬都整理了自己的《多项式全家桶》。本着 “ 我也要玩 ” 的基本原则,整理了属于自己的 【学习笔记】多项式全家桶(包含全套证明) 。受此启发,出现了一个 “ 要不要把所有学过的算法都整理成相应的算法全家桶 ” 的可怕念头^q^ 。尤其是我在学习数学板块的时候发现网上的资源杂乱无章,质量参差不齐,于是在 1 月份寒假期间,开始在家创作出了我的第一本书:数论全家桶之 《算法竞赛中的初等数论》(ACM / OI / MO)(十五万字符的数论书) ,个人感觉整体质量非常高,感兴趣的朋友可以点开看一下 o(〃^▽^〃)o 。然后就有了包含多项式全家桶、数论全家桶、组合数学全家桶、线性代数全家桶、图论全家桶、生成函数全家桶、群论全家桶、计算几何全家桶、博弈论全家桶、概率与期望全家桶的 《繁凡的ACM算法全家桶》 的问世^q^

  2021 年 2 月,为了备战 ICPC,开始了备赛第一阶段:每天一场 Codeforces 的每日亿题环节。不过打完一场 CF 不难,写完一篇完整的题解还是蛮累的哈哈哈。在 VP 刷了三十多场 Codeforces ,写了二十多篇 Codeforces 题解以后,2021 年 3 月学校开学,因此开启了备赛的第二阶段:每周三场 5 小时 ICPC 真题全真模拟赛。每场赛后尽量补完所有能补的题目,心情好了就写成比赛题解发出来:ACM - ICPC 真题,几个月来零零散散倒也写了十多场比赛的题解。经历了半年的模拟赛 - 比赛 - 模拟赛 - 比赛以后,我的 ACM 生涯也慢慢接近尾声。

  2021 年11 月 13 号,ICPC 济南站比赛前夕,一位朋友通过 QQ 找到了我,向我传达了想要把算法全家桶打印下来当做模板的期望,非常高兴我的博客受到了大家的认可,于是我连夜加更,把我的所有优质博客全部都整理了出来: 「我的所有优质博客全部开源啦(我自己原创的《ACM模板》《算法全家桶》《算法竞赛中的初等数论》 PDF免费下载)」。至此, 我的 ACM 生涯画上了一个逗号。

  2022年 1 月 1 日,断断续续写了将近半年的 《繁凡的 ACM 退役记》 终于圆满完成。在发布出它的那一瞬间,我的 ACM 生涯成功画上了最后一个句号,我真的退役了。

  一直以来在 CSDN 博客上,记录我 ACM 生涯的点点滴滴。每天把自己刷到的自认为不错的题目或是自己没有写出来的题目写成个人题解发布出来、把学到的新知识用自己的话总结一遍、把打过的比赛写成自己的题解为大家分享不同的思路,刷题,写作,分享,俨然成为了我生活中的一部分。慢慢的来了许多的朋友,参观我的博客,为我点赞,为我加油,也给了我继续下去的动力。


  

这里有一个小彩蛋,1 点 39 创作 Codeforces 题解是因为那场比赛在 1 点 35 结束哈哈哈。不过因为学校 11 点寝室会断电锁门,开学以后就很少会打 Codeforces 正式的比赛了 ><


我的博客网页访客分布图,可以说是非常的 international 哇

  

竞赛退役

  回顾完我的经历以后,我们回到竞赛本身。近几年 ICPC 的各种乱象大家有目共睹,我还曾经匿名在知乎冲过一次银川赛区,收获了好几百赞 o(〃^▽^〃)o 出题人的心情决定参赛者的人生,我不喜欢这种被支配的感觉。虽说菜是原罪,但还是希望各位用爱发电出题的 OI 爷们3能稍微提升一下只有两三年学习时间的零基础大学生们的游戏体验,真的没那么多时间学那么多算法 >< 。恰巧碰上了这个 “ 网赛八百队4,OI 遍地走5 ” 的时代,零基础选手的生存空间被挤压殆尽 … 想要拿到更高层次奖项的难度大大增加 …

  偶然间看到的一位大佬写的博客,大概也代表了我的心声。

不想打算法竞赛了。这是因为有别的事情要做,不是因为我打不动。
  
不想打比赛凌晨两点才睡了。因为我会困。
  
不想在群里和高水平选手水群了,因为我想独处。
  
不想去打区域赛,和 ICPC 选手多交流什么了,因为感觉中国选手都没几个好好打的。
  
不想出题了,一是因为我菜,二是因为我没有时间。
  
不想一年拉着队友训练三百场,因为我更想读读论文。
  
不想把过多意义投入到比赛中,因为这不是我想看到自己的样子,也不会让我成为我想看到的未来自己的样子。

  好像文章的基调变的忧伤了起来,但我仍然推荐大家参加 ACM 竞赛。尽管近年来比赛乱象丛生,但是不可否认,它仍然是最为公平的竞赛。在各方的努力和出题组的用爱发电之下,比赛已经渐渐回到正轨。ICPC 仍然是计算机专业最具有含金量的比赛。对于本科并不是特别厉害的同学,ICPC 的奖项仍然可以为你工作面试提供非常大的助力。我校集训队多年来每届的学长学姐们,都是从完全零基础开始,通过自己的努力,拿到各种奖项,并在 ACM 奖项和 AK 笔试的助力之下,以双非本科毕业生2的身份一毕业就进入了互联网大厂,拿到了诱人的薪资,今年即将毕业的几位学长学姐更是已经拿到了互联网公司顶尖大厂的 SP offer 和 SSP offer 我只能 %%% 。并且学长学姐们能拿到 offer 更大的原因是他们 AK 了笔试,和 ACM 培养的超强的学习能力以及代码能力,奖项倒是次要的因素。这也是我一直想说的一件事,参加 ACM 竞赛更重要的是能力的提升,对于一个零基础的选手来说,短短几年 ACM 竞赛的训练,能让你一生受益。因此我一直坚信 ACM 竞赛仍然是一个非常好的机会,不管是谁,我相信都能在 ACM 竞赛中收获不一样的青春。

但纹麒麟者,凡事无愧于心,于心有愧者,麒麟踏火焚心。

那么有没有什么对大家的建议呢:

  • 有能够一起奋斗共同进步的队友就努力一起往前冲吧。相互扶持,互相监督。要对自己和队友负责!在你组起三人小队的那一刻起,你就不是一个人在战斗!
    ❑ ❑ ❑ 我也曾短暂地体验过与队友并肩作战的感觉,我也曾经看见过太阳。
  • 学完一个算法就至少刷十道题吧。会写模板写过两道变种不叫学会,只能算是看过。
    ❑ ❑ ❑ 这也是我想告诫集训队的学弟学妹的话,不要浮躁,请用心沉淀。
  • 每天刷一套 Codeforces 吧。打完当天就补完题,做不到就每周三套,不行就两套。
    ❑ ❑ ❑ 曾经尝试坚持过一段时间每天刷一套 cf 或者区域赛真题,效果不错,就是有点废头发x

年轻人,你的职责是平整土地,而非焦虑时光。你做三四月的事,在八九月自有答案。

新的开始

  那么退役后的这段时间,我都干了些什么呢?我自学了深度学习,学完了李宏毅老师的《2021春机器学习课程》,吴恩达老师的《神经网络与深度学习》,看完了龙龙老师的《TensorFlow2.0深度学习》,李沐老师的《动手学深度学习》,在慢慢看《深度学习》花书,整理创作了:《繁凡的深度学习笔记》前言、目录大纲 一文弄懂深度学习所有基础

《繁凡的深度学习笔记》前言、目录大纲

链接:fanfansann.blog.csdn.net/article/details/121702108

第 01 章 深度学习综述(万字综述)

第 02 章 回归问题与神经元模型

第 03 章 分类问题 (逻辑回归、Softmax 回归、信息论基础)

第 04 章 TensorFlow2.0 从入门到升天

第 05 章 PyTorch 从入门到升天

第 06 章 神经网络与反向传播算法

第 07 章 过拟合、优化算法与参数优化

第 08 章 卷积神经网络 (CNN) 从入门到升天(万字综述,清晰易懂)

第 09 章 循环神经网络 (RNN) 从入门到升天(万字综述,清晰易懂)

第 10 章 注意力机制与Transformer详解

第 11 章 图神经网络详解(万字综述)清晰易懂

第 12 章 自编码器详解(万字综述)清晰易懂

第 13 章 生成对抗网络详解(万字综述)清晰易懂

第 14 章 强化学详解(万字综述)清晰易懂

第 15 章 元学习详解(万字综述)清晰易懂

第 16 章 对抗攻击与防御详解(万字综述)清晰易懂

第 17 章 迁移学习详解(万字综述)清晰易懂

  各位保研、考研、想要入门深度学习的大佬,或是对深度学习感兴趣的大佬可以进来阅读一下 >< ,内容非常翔实,我相信您一定能够有所收获!(哪怕您对深度学习不感兴趣都看到这儿了就点进 链接 给孩子一个 ☆   Star \boxed{☆\ \ \text{Star}} ☆  Star​ 吧 >< 球球了!)


  退役以后,我还是每天抽时间坚持刷题,每天一题 BZOJ 就图一乐(BZOJ计划),希望有生之年能把 BZOJ 写完 ^q^ 还未完工的算法全家桶我还是会慢慢完成它的,图论全家桶已经完成了 70% 了!我写过的所有自认为质量还不错的博客比如《算法全家桶》,自己整理的 400 页ACM模板,引以为傲的原创《算法竞赛中的初等数论》,《数据结构》,这些我自己个人原创的博客 P D F 版文件已经在 11 月的时候全部开源送给大家啦,有需要的可以自取: “ 我的所有优质博客全部开源啦(我自己原创的《ACM模板》《算法全家桶》《算法竞赛中的初等数论》 PDF免费下载) ” (看完记得点个赞哦)。

  我国知识分子素有 “ 为天地立心,为生民立命,为往圣继绝学,为万世开太平 ” 的志向和传统。我会继续在博客中分享我的所见,所闻,所学,所想,愿自己能够担负起历史赋予的光荣使命,成为一个 “闪闪发光” 的人。

  
今 で も あ な た は わ た し の 光

  那么就是这样!对大学两年时光做了一个简单的总结,我是繁凡,一个退役的蒟蒻 ACMer ,希望大家快乐!

往者不可谏,来者犹可追。


为大家分享一只快乐小狗勾,祝大家天天开心!

  

  1. ACM/ICPC 指国际大学生程序设计竞赛(英文全称:International Collegiate Programming Contest(简称ICPC))是由国际计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过 40 余年的发展,ACM 国际大学生程序设计竞赛已经发展成为全球范围内历史最悠久、规模最大、最具影响力的大学生程序设计竞赛,赛事颁发的获奖证书也为世界各著名计算机公司、各知名大学所认可。 ↩︎

  2. 双一流 OR 双非? 我们学校既是双非,又是双一流(一流专业也叫双一流嘛),所以在我想要凸显从300分的三本到我们学校的跨度之大时,我愿称之为双一流。在我想要体现我们学校与985,211的差距进而彰显学长学姐能拿到大厂 SSP offer 的强大,我愿称之为双非(手动狗头)。 ↩︎ ↩︎

  3. OI 爷 指在初中或高中时期参加全国青少年信息学奥林匹克竞赛的同学,信息学奥赛与 ACM/ICPC、CCPC 等相同,均为程序设计类算法竞赛,学习和考察的内容几乎完全相同,在初高中参加过信息学奥赛的同学上大学以后几乎无缝链接继续参加 ACM/ICPC ,大一刚入学就已拥有超过零基础大学生学习三四年的实力 ↩︎

  4. 网赛八百队 由于疫情影响,线下二三百队按比例发奖牌的比赛改成了线上八百队的盛况,在线上比赛哪怕 800 支参赛队伍仍然按作 350 支参赛队伍的获奖比例为标准作为奖牌数量的上限的情况下,比赛难度陡然增加。 ↩︎

  5. OI 遍地走 由于 OI 信息学竞赛招生政策的调整导致,大家懂得都懂,我就不细说了。OI 爷们多学了至少两年的信息学竞赛,对完全零基础的大学生们来说可谓是降维打击。 ↩︎

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: