浅谈如何在 Codeforces 下分

OwenOwl

2018-08-12 20:42:34

Personal

>> 2018 年的文章,时效性低,部分内容已经不使用。请谨慎参考。 > 有幸曾在 CF 全网垫底(id: `newbie3141592`,现在不是了) > 现在打啥都上分,包括 div3((( 在 Codeforces 中下分需要极高的策略与技巧,同时,也需要持之以恒的耐心。 本文中笔者将结合一些具体例子,讲述一些在 Codeforces 中下分的必要)条件和技巧。 # 0. 下分有什么用 1. div.1 选手下分以作为正式选手参加 div.2,从而实现阿克或虐场等; 2. 装弱; 3. 争顶 rating 倒数榜,成为传奇佳话。 # 1. 被计入比赛 仅仅报名/看题是不会被计入比赛的,想要被计入比赛,最好还是应当有 $1$ 次提交。这一次提交并不需要通过样例,无论是 ACM 赛制还是 CF 赛制。 另外,因抄袭代码等原因造成的 Skip 同样是不会被计入比赛的,被 Skip 的参赛选手状态会变为 `Out of Competition`,并且比赛将不计入 rating。 最重要的一点是,你必须属于该场比赛要求的 rating 区间。如果你是 div.1 选手,你就应当通过参加 div.1 来下分 具体来讲: - div.1: $\ge 1900$ - div.2 / Educational: $< 1900$ - div.2 Only : $<2100$ - div.3: $< 1600$ # 2. ACM 赛制下分 ACM 赛制一般是 div.3 或 Educational Round。 为达到下分目的,你需要获得足够低的排名。在你的 rating 足够低的时候,A 掉任何一道题是都是不行的,只有以 $0$ 题完成该场比赛才会掉 rating。 # 3. CF 赛制下分 CF 赛制一般是 div.1 或 div.2。 同样的,为了下分,当你的 rating 还不算太低的时候,你可以 $0$ 题跑路。 可是这一点不适用于试图将 rating 刷负的选手。 刷负的选手需要注意的一点就是可能有一些选手会 $1$ 题 AC 并且 Hack Failed 足够多次来获得 $<0$ 的成绩,甚至可能通过足够高超的技巧使得 A 掉的那题也 fst 掉。 比赛过程中,刷负的选手需要时刻注意榜,如果发现有选手的分为负,则需要尽可能地多 Hack Failed,以得到比该选手更低的分数。有必要的话,可能需要够快的手速或者一个 Hack 脚本来实现快速扣分。但是如果因此遭到举报或被 Skip,那么可能会导致下分失败。 (因为一些原因,本文不提供类似脚本) 如果在比赛过程中发现有一位选手分数远低于你且你不能追上,那么你需要及时想办法通过联系 `KAN` 或使用作弊手段等将自己 Skip 出本场比赛,避免不必要的涨分。 # 4. 心态 刷负是一个漫长的过程。现在 rating 为负的四位选手分别已经参加了 $21$,$20$,$21$,$30$ 场比赛,而他们掉到负分时最少的选手也已经参加了 $19$ 场比赛。由此可见,这是一个需要耐心和恒心的过程。 在比赛过程中,如果遇到不可预料的 Semi-Rated 或 Unrated 情况,也不能灰心、暴躁等。放平心态为下一次掉分做准备。 一边用大号上分,一边用小号下分是不可取的,这样会严重影响大号的上分情况,捡了芝麻丢了西瓜。 # 5. 实例分析 ### (1) `dreamoon` 已经参加过 $221$ 场比赛。 我们可以在下图明显地发现,`dreamoon` 在 $14$ 年中至 $15$ 年初进行着有目的的下分,原因是 `dreamoon` 试图在 div.2 获得一次 rank 1。 ![1.png](https://i.loli.net/2018/08/12/5b70346b9fe0d.png) 我们随便选取一场比赛,可以明显地看出相比同样是 $0$ 题的选手,`dreamoon` 是在故意得到 $0$ 题的成绩。 ![2.png](https://i.loli.net/2018/08/12/5b7035bb17ab9.png) 这样的下分方式,对于不以极低分为目的的选手来说,是足够的,也是操作上较为方便的做法。 (然而最后 `dreamoon` 只拿到了 Rank 2) ![7.png](https://i.loli.net/2018/08/12/5b7044e48df8b.png) ### (2) 我们知道 `errorerror` 和 `newbie314159` 是 rating 榜上的倒数两名。但相比后者来说,`errorerror` 的下分旅程并不是那么理想。 ![3.png](https://i.loli.net/2018/08/12/5b7036bbd5e0c.png) 可以看到前期 `errorerror` 有时候会突然 A 掉一道题导致 rating 疯涨,具体原因不得而知。 但是接下来我们要分析的是这一场: ![4.png](https://i.loli.net/2018/08/12/5b703790d80e9.png) 这一场我们可以看到,`errorerror` 做了 $0$ 题但还是涨 rating 了。 ![5.png](https://i.loli.net/2018/08/12/5b7037eb8c3a5.png) 但是如果翻到最后一页,我们可以看到 $3$ 位负分选手。因为相比他们来说,`errorerror` rating 远低且发挥“相对较好”,所以他涨 rating 了。 ![6.png](https://i.loli.net/2018/08/12/5b703861ca5fe.png) 这些选手就是先 AC 一道题,然后 Hack 别人来扣分,最后 FST 该题。 戏剧性的是,在 `errorerror` 失误涨 rating 这场,`newbie314159` 通过 Hack Failed $43$ 次强势垫底,为自己的 CF 下分路又添上了一份力。 # 6. 结语 下分也是一种技术。希望各位有下分意愿的选手能够达成自己的目标,更希望以后可以在 rating 榜最后一页看到你们的名字。 该上分的还是好好上分。