GXU_XCPC_Board rating 计算规则

这篇具有很好参考价值的文章主要介绍了GXU_XCPC_Board rating 计算规则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 基础分

B a s e R a t i n g = P r o b l e m S c o r c e ∗ 0.5 + r a t i n g S c o r c e ∗ 0.4 + B l o g S c o r e ∗ 0.1 BaseRating =ProblemScorce*0.5+ratingScorce*0.4+BlogScore*0.1 BaseRating=ProblemScorce0.5+ratingScorce0.4+BlogScore0.1

P r o b l e m S c o r c e = P a s s P l o b l e m S u m ProblemScorce = PassPloblemSum ProblemScorce=PassPloblemSum

r a t i n g S c o r c e = ( A t c o d e R a t i n g + C o d e f o r c e s R a t i n g ) ∗ 0.1 ratingScorce=(AtcodeRating+CodeforcesRating)*0.1 ratingScorce=(AtcodeRating+CodeforcesRating)0.1

B l o g S c o r c e = B l o g N u m ∗ 2 BlogScorce=BlogNum*2 BlogScorce=BlogNum2

2. Rating 计算

R a t i n g Rating Rating 将以(天\周\月)为单位作为一场比赛,进行迭代计算。

2.1 模块分数

2.1.1 ProblemScore

P r o b l e m S c o r e = e a s y ∗ 1 + b a s i c ∗ 2 + a d v a n c e d ∗ 3 + h a r d ∗ 4 + u n k n o w n ∗ 2 ProblemScore=easy∗1+basic∗2+advanced∗3+hard∗4+unknown∗2 ProblemScore=easy1+basic2+advanced3+hard4+unknown2

2.1.2 ratingScore

c o d e f o r c e s : codeforces : codeforces

d = r a t i n g c f n e w − r a t i n g c f d=rating_{cf_{new}}-rating_{cf} d=ratingcfnewratingcf

r a t i n g S c o r e c f = { 1 , r a t i n g c f ≤ 600 , d ≥ 1 r a t i n g c f 400 + r a t i n g c f ∗ d 20000 , r a t i n g c f ≥ 601 , d ≥ 1 0 , d ≤ 0 ratingScore_{cf}= \begin{cases} 1,\quad rating_{cf}\leq 600,d \geq 1\\ \frac{rating_{cf}}{400}+\frac{rating_{cf}*d}{20000}, \quad rating_{cf}\geq 601,d \geq 1\\ 0,\quad d \leq 0 \end{cases} ratingScorecf= 1,ratingcf600,d1400ratingcf+20000ratingcfd,ratingcf601,d10,d0

A t c o d e r : Atcoder: Atcoder:

d = r a t i n g a t c n e w − r a t i n g a t c d=rating_{atc_{new}}-rating_{atc} d=ratingatcnewratingatc

r a t i n g S c o r e a t c = { 1 , r a t i n g a t c ≤ 400 , d ≥ 1 r a t i n g a t c 400 ⋅ ( 1 + d 50 ) , r a t i n g a t c ≥ 401 , d ≥ 1 r a t i n g a t c 400 ⋅ ( 1 + d 20 ) , r a t i n g a t c ≥ 1000 , d ≥ 1 0 , d ≤ 0 ratingScore_{atc}= \begin{cases} 1,\quad rating_{atc}\leq 400,d \geq 1\\ \frac{rating_{atc}}{400}\cdot(1+\frac{d}{50}), \quad rating_{atc}\geq 401,d \geq 1\\ \frac{rating_{atc}}{400}\cdot(1+\frac{d}{20}), \quad rating_{atc}\geq 1000,d \geq 1\\ 0,\quad d \leq 0 \end{cases} ratingScoreatc= 1,ratingatc400,d1400ratingatc(1+50d),ratingatc401,d1400ratingatc(1+20d),ratingatc1000,d10,d0

2.1.3 BlogScore

B l o g S c o r e = ∑ i = 1 n B l o g S c o r e i n BlogScore=\frac{\sum^{n}_{i=1} BlogScore_i}{n} BlogScore=ni=1nBlogScorei

2.1.4 AttendanceScore

A t t e n d a n c e S c o r e = 单位周期内出勤分钟数 AttendanceScore=单位周期内出勤分钟数 AttendanceScore=单位周期内出勤分钟数

2.2 预期胜率

ELO积分预期胜率计算公式

P ( D ) = 1 2 + ∫ 0 D 1 δ 2 π ⋅ e − x 2 2 δ 2 d x P(D)=\frac{1}{2}+\int_0^D \frac{1}{\delta\sqrt{2\pi}} \cdot e^{\frac{-x^2}{2\delta ^2}}dx P(D)=21+0Dδ2π 1e2δ2x2dx

利用最小二乘法得到实际应用公式,其中 D D D 代表分差。

P ( D ) = 1 1 + 1 0 D 400 P(D)=\frac{1}{1+10^{\frac{D}{400}}} P(D)=1+10400D1

2.3 周期表现 rating 计算

2.3.1 考虑 1 V 1

R A : p l a y e r A 的 r a t i n g                             R B : p l a y e r B 的 r a t i n g R_A:player A 的 rating ~~~~~~~~~~~~~~~~~~~~~~~~~~~R_B:player B 的 rating RA:playerArating                           RB:playerBrating

E A = 1 1 + 1 0 R B − R A 400                                       E B = 1 1 + 1 0 R A − R B 400 E_A=\frac{1}{1+10^{\frac{R_B-R_A}{400}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~E_B=\frac{1}{1+10^{\frac{R_A-R_B}{400}}} EA=1+10400RBRA1                                     EB=1+10400RARB1

E A + E B = 1 E_A+E_B=1 EA+EB=1

S A = p r o b l e m S c o r e A p r o b l e m S c o r e A + p r o b l e m S c o r e B ⋅ 0.4 + r a t i n g S c o r e A r a t i n g S c o r e A + r a t i n g S c o r e B ∗ 0.3 +              b l o g S c o r e A b l o g S c o r e A + b l o g S c o r e B ∗ 0.2 + A t t e n d a n c e S c o r e A A t t e n d a n c e S c o r e A + A t t e n d a n c e S c o r e B ∗ 0.1 S_A=\frac{problemScore_A}{problemScore_A+problemScore_B} \cdot 0.4+\frac{ratingScore_A}{ratingScore_A+ratingScore_B}*0.3+ \\ ~\\~~~~~~~~~~ \frac{blogScore_A}{blogScore_A+blogScore_B}*0.2+\frac{AttendanceScore_A}{AttendanceScore_A+AttendanceScore_B}*0.1 SA=problemScoreA+problemScoreBproblemScoreA0.4+ratingScoreA+ratingScoreBratingScoreA0.3+           blogScoreA+blogScoreBblogScoreA0.2+AttendanceScoreA+AttendanceScoreBAttendanceScoreA0.1

S B = p r o b l e m S c o r e B p r o b l e m S c o r e A + p r o b l e m S c o r e B ⋅ 0.4 + r a t i n g S c o r e B r a t i n g S c o r e A + r a t i n g S c o r e B ∗ 0.3 +               b l o g S c o r e B b l o g S c o r e A + b l o g S c o r e B ∗ 0.2 + A t t e n d a n c e S c o r e B A t t e n d a n c e S c o r e A + A t t e n d a n c e S c o r e B ∗ 0.1 S_B=\frac{problemScore_B}{problemScore_A+problemScore_B} \cdot 0.4+\frac{ratingScore_B}{ratingScore_A+ratingScore_B}*0.3+\\~\\~~~~~~~~~~~\frac{blogScore_B}{blogScore_A+blogScore_B}*0.2+\frac{AttendanceScore_B}{AttendanceScore_A+AttendanceScore_B}*0.1 SB=problemScoreA+problemScoreBproblemScoreB0.4+ratingScoreA+ratingScoreBratingScoreB0.3+            blogScoreA+blogScoreBblogScoreB0.2+AttendanceScoreA+AttendanceScoreBAttendanceScoreB0.1

S A + S B = 1 S_A+S_B=1 SA+SB=1

R A n e w = R A + K ⋅ ( S A − E A ) R_{A_{new}}=R_A+K \cdot (S_A -E_A) RAnew=RA+K(SAEA)

K K K 暂定为 32 32 32,实际上 K K K 将随着用户 R a t i n g Rating Rating 的增加而减小。

2.3.2 考虑 1 V n

R A n e w = R A + K ⋅ P A R_{A_{new}}=R_A+K \cdot P_A RAnew=RA+KPA

P A = ∏ i = 排名低于 A 的用户 x ( S A i − E A i ) x − ∏ i = 排名高于 A 的用户 y ( E A i − S A i ) y P_A=\sqrt[x]{\prod^{x}_{i=排名低于A的用户}(S_{Ai}-E_{Ai})}-\sqrt[y]{\prod^{y}_{i=排名高于A的用户}(E_{Ai}-S_{Ai})} PA=xi=排名低于A的用户x(SAiEAi) yi=排名高于A的用户y(EAiSAi)

由于 ( S A i − E A i ) (S_{Ai}-E_{Ai}) (SAiEAi)并不是全为正数,因此通过分别计算对应的值做差为 P A P_A PA

2.3.3 rating 修正调整

第一次:

a d j u s t = − 1 − ∑ K i ∗ P i n adjust=\frac{-1-\sum K_i*P_i}{n} adjust=n1KiPi

R i = R i + a d j u s t R_i=R_i+adjust Ri=Ri+adjust

保证所有人的平均变化接近 0 并且在 0 以下。

第二次:

m = m i n ( n , 4 n ) m=min(n,4\sqrt{n}) m=min(n,4n )

a d j u s t = m i n ( m a x ( − 1 − ∑ K i ∗ P i m , − 10 ) , 0 ) adjust=min(max(\frac{-1-\sum K_i*P_i}{m},-10),0) adjust=min(max(m1KiPi,10),0)

取一个合理的 a d j u s t adjust adjust 使得前 m m m 个人的平均变化为 0。

R i = R i + a d j u s t      ( i ≤ m ) R_i=R_i+adjust~~~~(i \leq m) Ri=Ri+adjust    (im)

3. 后记

本文参考了 c o d e f o r c e , a t c o d e r , E l o   r a t i n g   s y s t e m codeforce,atcoder,Elo~rating~system codeforceatcoderElo rating system r a t i n g rating rating 规则,以周期统计数据替代比赛场景,并根据应用场景进行修改,目前未进行样本测试。

可能测试后,还会对参数以及公式大改QAQ

参考
https://en.wikipedia.org/wiki/Elo_rating_system
https://www.luogu.com.cn/blog/ak-ioi/cf-at-rating文章来源地址https://www.toymoban.com/news/detail-412658.html

到了这里,关于GXU_XCPC_Board rating 计算规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 缺乏对云计算环境特定威胁的规则

    随着企业越来越依赖于云服务来处理关键业务数据和应用程序, 保护其数据和信息资源变得越来越重要. 然而, 在许多情况下, 由于没有适当的规则和措施来解决特定的安全问题, 企业可能会面临严重的信息安全风险.本文将探讨这些潜在风险以及应对方法. 缺乏了解和分析云的内

    2024年01月20日
    浏览(41)
  • Java动态脚本&规则引擎、计算/表达式引擎

    在日常的Java项目中,我们免不了会遇到这样的需求: 动态地获取并运行自定义脚本文件,以实现特定的功能 对数据流执行用户自定义的数据有效性、公式计算、数据处理ETL(如数据截取、拼接)等不同业务逻辑 对用户输入的代码或脚本文件进行测试、运行,确保其语法正确

    2023年04月27日
    浏览(40)
  • 5.8. Trusted Board Boot

    快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 联系方式-加入交流群 ---- 联系方式-加入交流群 5.8. Trusted Board Boot启动 Trusted Board Boot(TBB) 功能通过验证所有固件镜像(包括正常

    2024年02月11日
    浏览(62)
  • 什么是注意力机制?注意力机制的计算规则

    我们观察事物时,之所以能够快速判断一种事物(当然允许判断是错误的),是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断,而并非是从头到尾的观察一遍事物后,才能有判断结果,正是基于这样的理论,就产生了注意力机制。 它需要三个指定的

    2024年02月14日
    浏览(45)
  • #Uniapp:upx 和 rpx使用区分 & 设计稿计算规则

    upx 和 rpx 区别 upx : upx是uni-app中的长度单位,它代表设备独立像素(与屏幕密度无关),1upx等于设备上的1个物理像素。在不同分辨率和屏幕尺寸的设备上,upx会自动转换为适应当前屏幕的最佳物理像素值,帮助开发者实现跨设备的一致性布局。 rpx : rpx是微信小程序中使用

    2024年01月16日
    浏览(30)
  • Prometheus-Rules(规则)-基础语法

    Prometheus规则是一种逻辑表达式,可用于定义有关监控数据的逻辑关系和约束条件。这些规则可以用于告警条件、聚合和转换等。 普罗米修斯支持两种类型的规则,可以对其进行配置,然后定期进行评估: recording rules alerting rules。 要在 Prometheus 中使用规则,请创建一个包含所

    2024年02月08日
    浏览(41)
  • Easy Rules规则引擎(1-基础篇)

    最近团队在做一些 Visa 、 Master 卡的交易风控,运营团队提供了一些交易风控的规则,比如针对卡号MCC设置单笔交易限额,24小时交易限额,72小时交易限额等等,还有触发风控规则是否拦截交易还是只发告警邮件等等等。 虽然写各种条件判断也能实现,但是随着后面规则增加

    2024年02月12日
    浏览(41)
  • ad报错:board clearance constraint

    具体的信息: 错误类别board outline clearance(板卡轮廓间隙/板卡外形间隙)(outline edge):(0.25mm0.5mm)between board edge and pad g1-1(xxxx,xxxx)on bottom layer 意思是底层g1焊盘离板卡边缘太近了,实际距离0.25mm,小于了0.5mm的约束规则。 clearance constraint很常见,前面有board 一般就是跟板

    2024年01月19日
    浏览(89)
  • Java基础 驼峰规则、流程控制、自增自减

     命名规则(驼峰)、流程控制、自增自减。 上一篇文章中提到了标识符,在Java中很多标识符都需要我们自己起名,但起名的方式千百不一,会让代码看的杂乱无章,故在漫长的近三十年时光里,Java形成了一套完成的命名规则,各大公司也在内部进行了命名规范的制约,最

    2024年01月22日
    浏览(48)
  • 深入理解机器学习——关联规则挖掘:基础知识

    分类目录:《深入理解机器学习》总目录 许多商业企业在日复一日的运营中积聚了大量的数据。例如,食品商店的收银台每天都收集大量的顾客购物数据。下图给出一个这种数据的例子,通常称作购物篮事务(Market Basket Transaction)。表中每一行对应一个事务,包含一个唯一

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包