Skip to content

用户评分

XMOJ-Script 内置了一套用户评分系统,用于直观展示用户在小明的OJ上的做题水平,并以彩色用户名的形式在社区中可见。

评分计算方式

注意:评分规则可能随版本迭代而调整。

用户评分基于AC 提交率(Accepted Rate)计算,公式如下:

评分=AC 提交数总提交数×1000
  • AC 提交数:评测结果为 Accepted 的提交数量
  • 总提交数:所有历史提交数量,包含 WA、TLE、MLE、RE、CE 等各种结果,以及等待中(Pending)、已忽略(Ignored)等状态

计算示例:

用户总提交AC 提交评分计算最终评分
用户 A1008080/100 × 1000800 🔴
用户 B2009090/200 × 1000450 🟡
用户 C1505050/150 × 1000333 🟢
用户 D1002020/100 × 1000200 🔵

客户端缓存

评分数据在浏览器本地缓存一天。因此当天新增的提交记录不会立即影响评分,通常在次日访问时更新。

评分颜色对照

根据评分高低,用户名将以不同颜色显示在讨论区、排行榜等处:

颜色评分区间对应 AC 率含义
🔴 红色≥ 50050% 及以上优秀 — 提交质量高,命中率过半
🟡 黄色400 – 49940%–49%良好 — 接近过半命中率
🟢 绿色300 – 39930%–39%一般 — 仍有较大提升空间
🔵 蓝色< 30030% 以下新手 — 建议多练习基础题目

评分在哪里显示?

彩色用户名会出现在以下位置:

  • 讨论区 — 帖子和回复的作者名旁
  • 排行榜 — 比赛排名列表中的用户名
  • 短消息 — 发件人 / 收件人的用户名

如何提高评分?

评分由 AC 率决定,因此提高评分有两种方式:

  1. 提高 AC 数量 — 解决更多题目,提交更高质量的代码,减少调试性提交
  2. 减少无效提交 — 避免在没有充分思考的情况下反复提交,每次提交前先在本地测试

小建议

使用 XMOJ-Script 的获取测试点数据功能,可以快速定位错误原因,减少「无意义 WA 提交」的次数,从而逐步提升评分。

与洛谷「咕值」的比较

对比维度XMOJ-Script 评分洛谷咕值
计算依据纯 AC 提交率活跃度 + 社区贡献 + 练习频次
刷新频率客户端每天缓存刷新每日服务端计算
社区贡献不计入计入加分项
主观因素极少较多(活跃奖励等)
适用平台仅 XMOJ仅洛谷
主要价值客观反映做题命中率综合衡量平台参与程度

XMOJ-Script 评分相对纯粹,不受社区活跃度和刷题频次影响,更能代表每次提交的平均质量。

基于 GPLv3 许可证发布