Codeforces介绍(工作向)
首先,我已经工作好几年了。不搞ACM很多年了,然后当年是个蒟蒻,现在比当年更弱了。所以这篇文章主要针对的是已经工作的朋友,而且是从事非算法相关的工作的开发朋友。
Codeforces是什么?
Codeforces是一个俄罗斯的OJ(Online Judge)。上面会有各种各样的题目和各种各样的比赛,用户可以阅读上面的题目,写出相应的代码并提交。网站会判断你的代码是否正确。
Codeforces的特点
Codeforces具有比赛密度高、题目质量不错、难度覆盖全、各种主题比较明确的特点。
对比国内各大高校OJ,就我个人的主观观察和认识来看,窃以为Codeforces的比赛密度更高,题目质量也不差。毕竟是全球的玩家都在往上面出题,数目多,质量不差也是必然的。
而且Codeforces每场比赛的难度比较均衡,比如在开始做一场比赛的题目之前,我们可以根据自身水平预估一下大概能做到什么程度。而各大高校OJ上的比赛,就看出题人的情况了。遇到一场巨巨们的XXX专题训练,和遇到愉快的周末练习,能过什么题就看缘分了。
Codeforces的题目具有明确的难度划分和主题划分。难度从800分的超级水题到3500分只有20+的人过的神题都有。主题也是覆盖数论、图论、dp、数据结构、网络流等等ACM常见算法。因此,如果有需要,可以来一场3500分题目组成的dp专题训练。
另外Codeforces是全英文的(或者是全俄文的,如果你愿意看的话)。也算是能练练英文阅读,尤其是能练习对各种谜之主题的阅读。
Codeforces的难度
Codeforces的难度一般来说,是一场比赛题目号数越高,难度越高。比如G题一般会比A题难。
Codeforces难度覆盖的面已经比较广了。尤其是加了Div3之后,已经覆盖到了完全没有难度的题目。比如#697的A题:给你一个n。问你是否存在一个非1的奇数能整除n。
总的来说Div3的难度其实是比较普世的。前几道题目基本是需要思考一下,想到一个特性或者想到一个可行的做法,就能轻松解决。后面的题目主要是特性藏得稍微深一点,或者加一个二分或者比较水的dp之类的。总的来说,非常基础。
目前Div3和Div2没有任何的联动。也就是Div3的题目不会出现在Div2中。如果要对标的话,可能Div3的最后一题大概是Div2的C题的水平。
Div2一般是和Div1一起出现(虽然也有Div2 only的比赛)。一般Div2的C题或者D题就是Div1的A题。相应的Div2D题或者E题就是Div1的B题。
Div2的难度我就斗胆说一下,毕竟现在也不是稳定的能AK,但还是斗胆说一下。
Div2的AB题基本没什么太大的难度,基本就是一个显然的特性,写下来就好。C题、D题一般是思维题、水dp或者水数据结构之类的。思维题看缘分,缘分到了可能卡一下,至于水dp或者水数据结构基本就是会就能做。到了E题F题基本就开始一些比较随缘了。基本什么都可能遇到。
Div1我就不敢评价了。因为我是蒟蒻,我只能做到Div2 AK,也就是做一半的样子。所以就不误人子弟了。
总之,Codeforces的难度其实主要就是:啊,我居然没想到这个——思维能力不够。俗称:菜。
为什么要刷Codeforces
因为想不到。而从想不到变成想到的这个过程是一个漫长的过程。
比如我们可以通过题解,得知一道Div1E题的做法。并且发现这个做法其实很简单。但其实这并不简单,因为很可能当真正面对另外一个类似问题的时候还是想不到,需要依赖题解。
再具体一点比如dp,dp谁不会呢?遇到具体问题的时候,是不是一定能想到状态转移呢?想到了,结果一看是$n^3$的状态转移,再一看数据规模,$n^2$都得超时,更不要说是$n^3$了。那是否又能想到怎么优化呢?
我们说,贪心可能简单一些。但贪心不一定是$f(x)$这一层贪心,保不齐是$f'(x)$那一层贪心呢?那么在遇到这个问题的时候是否能想到呢?即使想到了,交上去,发现不对。那么一个灵魂拷问就是:到底是我的贪心不对,还是我代码写错了?
刷Codeforces的乐趣其实就在这里。因为想不到。因为突然发现自己脑子不好使了。这个时候,来几场紧张刺激的Codeforces,可能想不到的就慢慢变成能想到了。
为什么不刷Codeforces
- 找工作用不到的。都卷到CF的地步了?我觉得我还是转行来的实在。我自问刷的各种题和CF平时工作没啥用……
- 精力投入大。坐在那一下午,就想一个问题,然后想不到。想到了确实很爽,但是想不到就有点难受了。不管过不过,完了都得歇一会儿。
- 时间投入大,比赛太频繁了。4天后一场Div3不水一发?跟着10天后一场Div2不AK一把?不说多了,一大半的空余时间没了。
关于我
我是蒟蒻。只能慢慢做,一整天才能出一场Div2的水平。比赛是不敢打的,看平时提交就知道了,手抖脑抽,打一场掉一场没必要。
但是呢,虽然菜,虽然工作了很多年了。但偶尔刷刷CF感觉还是比较愉悦的。
最后,许个愿。但愿本站能够比CF的可靠性更高。(日常黑CF:1/1,CF的网站稳定性那叫一个刺激。)