来翻译一下官方文档,但是建议看英文原文,本文可能会出现一些错误,只是为了方便自己查阅用的。


对于你的每一场rated比赛,会有一个Performance值\(X_i\),你的rating是\(X_i-f(i)\)的加权平均,其中\(f(1)=1200\)而\(f(i)\)单调递减。也就是说,如果你的Performance值稳定在\(X\)上,你的Rating会从\(X-1200\)逐渐上升为\(X\)。

那如何计算Performance呢?对于每个选手,有一个值叫做\(APerf\)(Average Performance),设\(Perf_1,Perf_2,\ldots,Perf_k\)是你的每一场Perf(时间从后往前),那么
\[
APerf=\frac{\sum_{i=1}^kPerf_i\times 0.9^i}{\sum_{i=1}^k0.9^i}
\]
那对于萌新来说怎么办呢?就要设一个默认值\(Center\),对于AGC,ARC,ABC这个值分别为\(1200,1000,800\).

设这场比赛rated人数为\(n\),它们的\(APerf\)值为\(APerf_i\),那么排名为\(r\)的人的Perf值为\(X\),\(X\)定义为
\[
\sum_{i=1}^n\frac{1}{1+6.0^{(X-APerf_i)/400.0}}=r-0.5
\]
这个方程的解,那对于并列的人来说怎么办呢,\(r\)就取它们rank的平均值。

对于第一场比赛是需要特判的(为了防止第一场比赛的影响太小)
\[
Perf=(Perf-Center)*1.5+Center
\]
还有你的\(RPerf\)值(Real Performance)
\[
RPerf=\min(Perf,RATEDBOUND+400)
\]


最后的问题是如何计算Rating,设
\[
F(n)=\frac{\sqrt{\sum_{i=1}^n0.81^i}}{\sum_{i=1}^n0.9^i}
\]

\[
f(n)=\frac{F(n)-F(\infty)}{F(1)-F(\infty)}\times 1200
\]


\[
g(X)=2^{\frac{X}{800}}
\]

\[
Rating=g^{-1}(\frac{\sum_{i=1}^kg(RPerf_i-f(i))\times 0.9^i}{\sum_{i=1}^k0.9^i})
\]
为什么\(g(X)\)要设成一个指数函数呢?因为当你被降智的时候,你有可能只会做1题,也有可能做4题,可能对于你来说差别不大。但是可能做出5题和做出6题的差别就很大了。而设成指数函数就可以让你在发挥超常的时候高兴很久,在被降智的时候也只用伤心一会儿。(逃

Atcoder Rating System的更多相关文章

  1. 从Elo Rating System谈到层次分析法

    1. Elo Rating System Elo Rating System对于很多人来说比较陌生,根据wikipedia上的解释:Elo评分系统是一种用于计算对抗比赛(例如象棋对弈)中对手双方技能水 ...

  2. Elo rating system 模拟

    package org.cc.foo_008; import java.util.ArrayList; import java.util.List; import java.util.Random; ...

  3. Codeforces Rating System

    来翻译一下官方文档,但是建议看英文原文,本文可能会出现一些错误,虽然不是为了方便自己查阅用的. 首先,对于人 \(i\),定义 \(r_i\) 是他的 rating,对于人 \(i,j\),定义 \( ...

  4. Elo rating system(Elo 打分体系)

    A.B 两个待比较.评价的对象,分别打分为 RA,RB,则各自获胜的期望值为: ⎧⎩⎨⎪⎪⎪⎪⎪⎪EA=11+10(RB−RA)/400.EB=11+10(RA−RB)/400. 不妨令 QA=10R ...

  5. elo system

    今天了解了一下游戏中的PVP模块的实现,大多数的游戏都使用到了ELO算法,刚开始的时候并不清楚这个算法是做什么的,对此开始大量查找有关于ELO算法的资源,功夫不负有心人,总算找到一些有用的资源了. 先 ...

  6. GO语言的开源库

    Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org ...

  7. 运行(WIN+R)中能使用的命令:ms-settings:,shell:,cpl,mmc...

    ms-settings: --- DESC --- --- CMD --- Battery Saver ms-settings:batterysaver Battery Saver Settings ...

  8. Security Checklist (路由器安全checklist)

    Security Checklist Website by     Michael Horowitz  Home | Introduction | Router Bugs | Security Che ...

  9. android之RatingBar控件用法

    MainActivity.java package com.example.mars_2500_ratingbar; import android.support.v7.app.ActionBarAc ...

随机推荐

  1. Luogu5400 CTS2019随机立方体(容斥原理)

    考虑容斥,计算至少有k个极大数的概率.不妨设这k个数对应的格子依次为(k,k,k)……(1,1,1).那么某一维坐标<=k的格子会对这些格子是否会成为极大数产生影响.先将这样的所有格子和一个数集 ...

  2. 对称加密,非对称加密,数字签名,https

    对称加密和非对称加密 对称加密 概念:加密秘钥和解密秘钥使用相同的秘钥(即加密和解密都必须使用同一个秘钥) 特点:一对一的双向保密通信(每一方既可用该秘钥加密,也可用该秘钥解密,非对称加密是多对一的单 ...

  3. PIE二次开发——大气校正

    窗体设计: 代码: private void button_src_Click(object sender, EventArgs e) { OpenFileDialog openFile = new ...

  4. Eva 剧情解析

    Eva 剧情解析 来源 https://zhuanlan.zhihu.com/p/20864898 [0.写在前面的话] 相信和我年龄差不多的小伙伴们对<新世纪福音战士>( <Neo ...

  5. iOS - starckView 类似Android线性布局

    同iOS以往每个迭代一样,iOS 9带来了很多新特性.UIKit框架每个版本都在改变,而在iOS 9比较特别的是UIStackView,它将从根本上改变开发者在iOS上创建用户界面的方式.本文将带你学 ...

  6. 学习到目前,自己封装的db类和pdo类

    DB封装类 <?php class DBDA { public $host = "localhost"; public $uid = "root"; pu ...

  7. Java 之 ObjectOutputStream 类

    ObjectOutputStream 类 1.概述 java.io.ObjectOutputStream extends OutputStream ObjectOutputStream:对象的序列化流 ...

  8. Authorization Bypass in RSA NetWitness

    https://www.cnblogs.com/iAmSoScArEd/ SEC Consult Vulnerability Lab Security Advisory < 20190515-0 ...

  9. Docker Compose编排工具部署lnmp实践及理论(详细)

    目录 一.理论概述 编排 部署 Compose原理 二.使用docker compose 部署lnmp 三.测试 四.总结 一.理论概述 Docker Compose是一个定义及运行多个Docker容 ...

  10. 爬虫之 selenium模块

    selenium模块   阅读目录 一 介绍 二 安装 三 基本使用 四 选择器 五 等待元素被加载 六 元素交互操作 七 其他 八 项目练习 一 介绍 selenium最初是一个自动化测试工具,而爬 ...