Acgo 竞赛积分系统
2024-10-29 15:38:12
发布于:浙江
概述
新版 竞赛分系统参考了 平台的 [1]。
该积分系统基于 (或 ),类似于 评分系统,但进行了许多修改。
新版竞赛分系统上线后,用户参加 的所有比赛将会有 和 (即「评分」与「不评分」)两种状态。
正常情况下参加比赛的选手状态为 ,状态被评为 包含但不仅限于以下情况:
- 参加本场比赛前竞赛分超过本场比赛的 分数线限制();
- 比赛中作弊,被取消比赛成绩;
- 本场比赛因不可抗力因素导致无法正常进行的将参与本场比赛的所有用户设置为 。
对于 的选手,在每场比赛中,会获得一个「表现分」。这个值代表了你在比赛中的表现如何。
粗略地说,你的每场比赛后的竞赛分为「表现分」的加权平均值(最近的比赛权重更高)减去 ( 为 比赛的参与次数),其中 ,且 随参加的 比赛的次数增加而逐渐减小并趋于零。
这意味着如果你持续获得 的表现分,你的竞赛分将从 开始,并逐渐趋近于 。
请不要担心在第一场比赛中获得很低的竞赛分,如果你参加更多比赛,分数很可能会迅速上升。当参加 场比赛后,你的竞赛分将会非常接近于你的真实实力。
计算表现分
在系统内部有两种类型的「表现分」: 和 (修正后的 ) 。
首先,对于每个参赛选手,我们计算出他们的 (平均表现分)。
令 为一位参赛选手的历史 。其中 是最近参加的一场比赛, 是最早参加的一场比赛,这位选手的 被定义为:
所有第一次参与 的 比赛的选手的 将会被设置为 。
和每一场 比赛的 (即 上限)有关。
。
令 为一场比赛中所有的 的参赛选手的数量,令 为第 个选手的 。那么比赛的 榜单中,排行第 名选手的 被定义为满足以下公式的唯一的 :
这个 可以使用二分来计算得出。
请注意,以上的排名是所有并列名次的平均值。例如,如果有四个人并列第 名至第 名,那么这些人的排名为 。
除此之外,为了避免在第一场比赛中的「表现分」方差过小, 使用新竞赛分系统的第一场比赛(这里指 排位赛#4)的表现值会被放大处理,具体如下:
最终,对于每个用户其 使用以下方式计算:
其中 对于不同的比赛是不一样的,每场比赛的 会在竞赛说明中给出。
计算竞赛分
定义 为:
定义 为:
定义 为:
该函数可以给更好的表现赋予更多的权重。因此,极好表现与较好表现之间的差异会非常大,而重大失误与一般失误之间的差异则不会那么大。
这样可以使得当参赛者在比赛中打出了超出水平的发挥时,会增加更多的竞赛分;当参赛者在比赛中打出了远低于自己水平的表现分时,不会减少太多的竞赛分;
令 为一位参赛选手的历史 ,其中 为当场比赛的 。那么本场比赛结束后,其竞赛分为:
然后考虑公式 的 函数对竞赛分的影响,定义以下函数[2]:
最终 计算出来为:
其中 为已经参加的 的比赛场次(包括本场)。
本文档的版本记录
- 10/29/2024 Ver. 1.00: 第一版。
全部评论 44
慢一步,我的沙发。。。
2024-10-29 来自 浙江
8哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
2024-11-03 来自 广东
0这是老师……
2024-11-15 来自 江苏
02025-02-15 来自 四川
0
我突然发现,我不止代码看不懂。。连这个规则我也看得头大
2024-11-30 来自 浙江
5同感
2025-02-06 来自 广东
1+1
2025-05-24 来自 四川
02025-05-24 来自 广东
0
新竞赛机制说明
竞赛分为3个等级,分别是欢乐赛、挑战带、巅峰赛(原名排位赛),竞赛难度依次递增
欢乐赛:设置积分上限为600,排位分超过600的用户打欢乐赛不计分
挑战赛:设置积分上限为1500,排位分超过1500的用户打挑战赛不计分
巅峰赛(原名排位赛):设置积分上限为1800,排位分超过1800的用户打巅峰赛不计分需要注意的事情是,这里的 超过 为
2024-10-29 来自 浙江
5也就是说如果我的分数是1800就没法加分了??
2024-10-30 来自 上海
1对的
2024-10-30 来自 浙江
1a?
那钻石以上的段位怎么上?
How strange it is……2024-10-30 来自 上海
0
庆祝 ACGO 新的 Rated 赛制!
2024-10-29 来自 美国
3庆祝但是没法上星耀(因为到1800就不能加分了
)2024-10-30 来自 上海
3之后会慢慢调整的。目前是定在 1800。
2024-11-02 来自 加拿大
5加拿大?!
2024-11-03 来自 广东
0
2024-10-29 来自 四川
32025-07-14 来自 四川
0
这个算法好难啊!!!
2024-11-26 来自 广东
2啊对对对!
2024-12-05 来自 广东
2+1
2025-05-24 来自 四川
0
2024-11-16 来自 北京
2+1
2025-05-24 来自 四川
02025-07-14 来自 四川
0
也就是说,打挑战赛也能加分了?
2024-10-30 来自 广东
2完如蛋 感觉会被踢下去(
2024-10-30 来自 广东
0Yes
2024-10-30 来自 浙江
0感觉给了菜鸟们机会
2024-10-30 来自 广东
0
看不懂思密达
2025-04-10 来自 北京
1+1
2025-05-24 来自 四川
0
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa审核别封
2025-02-08 来自 北京
12025-07-14 来自 四川
0
OK,一个也看不懂
2025-02-06 来自 广东
1对不起,有亿点读不懂
2024-12-17 来自 浙江
1看不懂
2024-12-15 来自 广西
1坏了,学习不好连赛制都看不懂力(大悲
2024-11-16 来自 广东
1前排
2024-10-29 来自 浙江
1捉老师
2025-07-14 来自 广东
0
666
4小时前 来自 江苏
03333666
昨天 来自 上海
0AtCoderのレート計算式
AtCoder
競技プログラミング
レーティング
項目応答理論
Last updated at 2019-07-25
Posted at 2018-07-29
この記事はAtCoder公式が出しているレート計算式の説明PDFの内容を解説しようと試みるものである。
AtCoder公式によるレート計算式の説明はPDF3ページに収まる非常に簡潔なものなのだが、その分背景知識や式の設計意図が大幅に省略されていて、原文を読むだけでは理解に悩む箇所も少なくない。
そこで、省略されている箇所をAtCoder公式の発言や私の予想で補って、できるだけわかりやすく解説しようとするのがこの記事の目的である。この記事の目的上、この記事はAtCoder公式による説明を正確に理解するには全く向いていない。
私の予想が混じっているからである。
私の予想の部分はできる限りそうだと明示するようにするが、信頼できるソースを求めるのであれば原文を読むようにしてほしい。また、私の数学力が足りていないために、式の設計意図を私が勝手に予想することすらできなかった箇所もある。
その部分は式の形だけ説明する。レートとパフォーマンス
ユーザーの個人ページ(例: chokudai)に大きく掲載されている0以上の整数をレートと呼ぶ。
高ければ高いほどそのユーザーの競技プログラミングにおける実力が高いことを示す。
(私は理解できていないのだが、より厳密には、99.9%の確率でそのレート以上の実力があることを保証する数字、つまり99.9%上側信頼区間の下側信頼限界であるらしい)chokudaiの個人ページ
ここではchokudaiのレートは2921であることが分かる。
ユーザーの個人ページにある「コンテスト成績表」のリンクから飛べる画面で確認できる整数をパフォーマンスと呼ぶ。
パフォーマンスはあるユーザーのあるコンテストにおける成績を表し、高ければ高いほど良い。
パフォーマンスはレートと違って負の整数になることもある。(2019/7/22追記)
……のだったが、2019年7月20日頃、パフォーマンスは表示上0以上の整数しかとらないように変更された。
この記事の内容はまだこの変更に追従できていない。
(追記終わり)chokudaiのコンテスト成績ページ
ここではchokudaiの各コンテストにおけるパフォーマンスは、新しい側から順に2503, 3018, 2881, ……であることが分かる。
あるユーザーのレートはそのユーザーのパフォーマンスのみから算出される。
RatedとUnrated
あるユーザーがコンテストに参加したとしても、以下のいずれかの場合はパフォーマンスが算出されずに「-」という表示になる。
または、そもそもコンテスト成績表に載らなかったりする。AtCoderのサイトを借りて行われる非公式コンテストや企業コンテストに参加した場合(ただし一部の企業コンテストは例外的にパフォーマンスが算出されることもある)
現在のレートと比べて簡単すぎるコンテストに参加した場合(基準は後述)
一回も回答を提出せずにコンテストを終了した場合
AtCoder社のコンテスト運営に不備があり公平なコンテストを実施できなかった場合
このような、パフォーマンスが算出されないコンテストは、そのユーザーにとってUnratedなコンテストと呼ばれる。
例えばchokudaiにとっては、少なくとも以下のコンテストがUnratedなコンテストである。第2回 RCO日本橋ハーフマラソン 予選
AtCoder Beginner Contest 073
レートはパフォーマンスのみから算出されるので、つまりUnratedなコンテストに参加した場合レートは変動しない。逆にパフォーマンスが算出されレートが変動するコンテストはRatedなコンテストと呼ばれる。
自分にとって次のコンテストがRatedになりうるか否かは、コンテストごとに決まっているRated対象を見ればそれだけでわかる。ABC 103
この場合、このコンテストのRated対象は0〜1199であるから、自分の現在のレートが1199以下であり、かつ無提出でなく、かつAtCoder社のコンテスト運営に不備がなければ、このコンテストはRatedである。
逆に、自分の現在のレートが1200以上である場合、このコンテストは自分にとって簡単すぎるコンテストであるということになり、このコンテストはUnratedである。特定の名前のコンテストはRated対象が毎回固定で決まっていて、以下の表のようになっている。
コンテスト名 Rated対象
AtCoder Begin3天前 来自 浙江
0计算方法好复杂
3天前 来自 浙江
0AtCoder的Rating计算公式解析
- Rating与Performance的基本概念
Rating:用户个人页面上显示的非负整数(如chokudai的2921),代表用户编程竞赛实力。官方解释为"99.9%置信区间的下限值"。
Performance:通过比赛成绩表查看的整数(可负,2019年7月后改为非负),反映单场比赛表现。例如chokudai的某次表现为2503。 - Rated与Unrated比赛
Unrated条件:
非官方/企业赛(部分例外)
比赛难度低于当前Rating(如ABC103对≥1200Rating用户)
未提交任何答案
比赛运营出现故障
Rated对象范围:
比赛类型 Rated范围
ABC 042-125 0-1199
ABC 126+ 0-1999
ARC 058+ 0-2799
AGC 001+ 无上限 - Rating计算核心机制
加权聚合:用特殊平均算法整合所有Performance(满足性质1、2):
更重视近期比赛和大成功表现
参与次数修正:减去基于参赛次数的补偿值:
1次补偿1200,2次补偿745.4,逐渐趋近0(防止小号刷分)
保底调整:若结果≤400,通过非线性映射到0-400区间:
400→400,0→147.2,-400→54.1,-∞→0
四舍五入:最终取整得到Rating - Performance计算细节
内部Performance:实际计算的原始值(如anqooqie在ABC108的InnerPerformance为1765)
显示Performance:受限于比赛类型上限:
Performance
=
min
(
InnerPerformance
,
上限值
)
Performance=min(InnerPerformance,上限值)
比赛类型 上限值
ABC 042-125 1600
ABC 126+ 2400
ARC 058+ 3200
AGC 无上限 - 系统设计特点
改良版Elo系统:保留胜负概率框架但大幅改造
关键设计目标:
鼓励高水平表现(性质1)
侧重近期成绩(性质2)
防止新账号因首战失利放弃(性质3)
避免新手Rating过低(性质4)
数据验证:用户anqooqie的历史数据(如2018年ABC108场次)显示InnerPerformance与最终Rating的关联性
注:本文内容基于官方说明文档的非正式解读,部分细节可能存在作者推测,建议通过API(如/users/[id]/history/json)获取原始数据验证。
3天前 来自 浙江
0- Rating与Performance的基本概念
6
4天前 来自 浙江
0字体怎么弄的:求
2025-07-05 来自 江苏
0
有帮助,赞一个