你的编程竞赛生涯有没有经历过一段很低谷的时候

公子龙

共 2164字,需浏览 5分钟

 ·

2020-12-07 15:05

这个标题是不是很丧,是的,这是知乎上的一个话题,原问题是:你的 ACM 生涯有没有经历过一段很低谷的时候?」。

这个话题下面吸引了很多对 ACM 又爱又恨的选手的感想,有位同学的回答很触动我,对计算机编程竞赛感兴趣的同学可以看过来。



傅立叶不说谎:大概就是现在了。

和别的回答不一样,这里是一个刚入门的水平极其低下的ACMer写下的回答。

7月份初,大一下考完最后一门高数,本来打算好好享受暑假了,室友突然问我:
“你来打ACM吗?我这缺一个人。”

其实这已经不是他第一次邀请我了,我一直也想打,我也挺喜欢算法,大一刚学C语言后也会经常去洛谷写写题,但是只能写很简单的入门题,对算法一窍不通。

我不是OIer,我很清楚0基础参加ACM,去和有OI基础的选手竞争有多么困难,加上我一直想参加大学数竞,准备好好准备数竞了,所以我再次拒绝了他。

但是他说ACM不只是算法和代码,让我负责数学,推式子,别的由他和另外一个队友搞定。

另外一个队友是个学长,他说需要一个数学手,室友听了第一个想到的就是我,因为我高中参加过数竞,他说他超级想让我来。

他劝了我很久,我被诚意打动了,ACM生涯就此开始。

我花了好几天去了解ACM数学到底是怎样的数学,了解了基本体系后就开始刷题了。暑假每天爬起来就打开洛谷,去找很多基本的数学题做,去看数学类的模板题。

从0开始真的太困难了,虽然对数论之类的一些定理尚且还有记忆,但是涉及到代码就一窍不通。对着电脑发呆,除了写出题的那一瞬间,绝大部分时候都很痛苦。

花了一个多月,一些基本的数学勉强搞定了,后来学长让我看看莫比乌斯反演,看看FFT,多项式,生成函数。

我高中数竞是没有学过莫比乌斯反演的,加上数论一直很差,刚看的时候,寸步难行,每天在草稿纸上写下无数的sigma,gcd,μ,φ...不停地跟着题解推式子,思考什么时候反演,sigma怎么变形才能降低计算复杂度。卷积,线性筛,前缀和,分块整除,杜教筛...连这些前置知识都是艰难学完的。

“我是不是真的不合适啊?”

我每天都在想这个问题,再到后来,摸爬滚打一个月,我终于能自信地反演推式子了,终于能不看模板盲打代码了。

可是这还远远不够,这只是一小小块知识而已。我开始看FFT,比起反演,我连FFT的理论都花了好几天才勉强理解。傅立叶真的神啊,人类的智慧怎么会这么伟大,为什么我学的这么慢。看懂后我开始写代码,却发现完全无从下手,网上的题解模板代码我也看不懂,我每天都尝试去理解,却怎么也理解不了。

怎么办?连FFT都学不会,多项式和生成函数就别想学了。每天,除了练一练别的知识点,我就对着FFT模板抄代码,看不懂,就硬抄,抄好几遍,直到最后能自己把模板熟练地打出来。我就心想我怎么这么废啊,起初的时候我几乎是哭着把代码打出来的。

这个过程持续了好久好久,大概在10月初,我终于能完全理解FFT了,再开始看多项式全家桶,NTT,求逆,求ln,求exp,开根...这些倒是轻松了很多。然后看看生成函数,也稍微入门学会了一点。

从最开始洛谷普及-都不会写,到写出第一道黄题,绿题,蓝题,紫题,甚至黑题,然后慢慢接触到别的OJ——cf,hdu,牛客...
这些是我大一的时候想都不敢想的事情。

但是正赛上依然不会写题,打了两场CCPC,都是以铜收尾,我只能和队友稍稍讨论思路,大部分时候都是对着题目和草稿纸发愣,自己完全没能力写出一整道题。

我很愧疚,如果我再强一点,哪怕只写出一道题,是不是就能至少拿银了?是不是就不会拖队伍的后腿了?

前几天打了场校内选拔,终于写出一道比较难的题了,概率DP+反演,印象里包括我们队只有两个队做出来了。我高兴了一整个晚上。

高兴是短暂的,回到现实,这几个月,没有一件好事,分手,专业课爆炸,怎么都学不会,加上ACM自身实力太差,事情太多,最近根本没时间训练。觉得自己是个废物,什么都做不好。情绪极度不稳定,每天都很害怕。

马上又要算法期末考了,没怎么复习,心里也没底。说起来真的讽刺啊,一个ACMer,连课内要求的算法课都学不太通。
我不知道这个低谷会持续多久
也许是等到区域赛拿了银
也许是期末考保住了成绩
也许...

我还有太多东西要去学,组合,概率,计数,计算几何...光是数学就已经让我应付不过来了,更不用说传统的算法竞赛知识。

我没有多少天赋,我曾经自以为比普通同学高那么一点的数学天赋在ACM面前连渣都不剩。

我也不敢说我相比别的ACMer有多努力。

我只是想拿一块区域赛银,如果以后我足够强,再尝试去拼一块金牌。

梦想是廉价的,只有成功者的言论才能被人认同。没有成绩,说得再慷慨激昂也没有用。

祝福我自己吧。

·················END·················

你好,我是公子龙,毕业于中科院,多次获得机器学习算法竞赛冠亚军,毕业时拿到了 9 家互联网大厂的 offer,包括阿里微信等。

我常在公众号和B站输出面试经验和内推机会,成功帮助上百位同学内推到各大厂,感兴趣可以点击蓝字查看我的编程学习之路
浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报