对等级分的一些意见和看法 by Redshift_Shine × SyuAyaka

· · 算法·理论

1. 各平台 rating

记录于 2024/8/23:

2. 等级分判断水平?

关于这个问题,我的看法是:每个 OJ 的 rating 显示出的水平侧重点不同。

首先,我经常在 CodeForces Div.2 的前两题卡住。但是,在 Educational Rounds 中,我不会出现这种情况,而且一般能得到很高的得分。

CodeForces 的 rating 反映的是思维的活跃度以及实现的速度,因为 CodeForces 的赛制导致了大量的 3 题不如 2 题的情况出现。并且,CodeForces 的 rating 强关联于最近一场比赛的表现。

对于 AtCoder,我们需要分成三个部分,一个是 ABC,一个是 ARC/AGC,还有一个是 AHC。

一般来说,ABC 的前六道题都非常注重基础算法的扎实度,而最后一题的难度经常出现原地起飞的状况(有时候 F 是绿然后 G 是黑)。ARC/AGC 的每一道题码量都不大,但是对思维灵活度的要求应该高于 NOIP。AHC 分为长场和短场,长场的代码量可以达到工程题级别,而短场虽相对较短,但代码量也处于算法题目的相对上位。

ABC 的 rating 上限是 \color{blue}{1999},也就是说,Algorithm Rating 在这个分界线以下,rating 大致反映的是对基础算法的熟练程度;而在分界线以上,rating 反映的是思维的灵活程度。而 Heuristic Rating 同时反映了思维、实现能力以及对一个微型项目的整体把控能力。

对于 CodeChef,情况比较特殊。一方面,这个 OJ 的知名程度不如前两个那么高,另一方面,CodeChef 的各个题目是等分的,而且没有罚时机制。所以可以认为,CodeChef 的积分方法是与洛谷最接近的。

而且,CodeChef 尤其热衷数学题。也就是说,数学功底较好的选手能更快地在 CodeChef 取得更高的 rating。

综上,使用 rating 来评判一位选手需要根据 OJ 题目本身的特点及出题方向进行判断。

3. 上分/下分经历

rating 本身是一个非常玄学的东西,因为它极其受制于你在比赛当天的状态以及题目与你能力点的契合度。

打个比方,在这场比赛中,题目非常幸运地与我所喜欢的题目相契合,让我快速地想到了 E 的双 \log 解法,随后切掉了那一道题,帮助我极速上分。同时,我为本场比赛 E 题撰写的题解也是我目前在洛谷获得最高赞的题解,也让我第一次理解了树状数组内部操作的方法。

再比如这场比赛,因为本场比赛的 E 是倍增模板,F 是哈希模板,导致大批选手以极快的速度切掉了这两道题(包括我在内),而 G 是异或卷积,难度达到了黑,导致整场比赛只有 18 人通过,区分度极低。我因为在 D 吃了两发罚时而痛失理论 perf(\color{orange}{2400})。

4. 想法

我觉得目前洛谷的 rating 还是过于虚高了。可能需要压一压。