用户评分
XMOJ-Script 内置了一套用户评分系统,用于直观展示用户在小明的OJ上的做题水平,并以彩色用户名的形式在社区中可见。
评分计算方式
注意:评分规则可能随版本迭代而调整。
用户评分基于AC 提交率(Accepted Rate)计算,公式如下:
- AC 提交数:评测结果为 Accepted 的提交数量
- 总提交数:所有历史提交数量,包含 WA、TLE、MLE、RE、CE 等各种结果,以及等待中(Pending)、已忽略(Ignored)等状态
计算示例:
| 用户 | 总提交 | AC 提交 | 评分计算 | 最终评分 |
|---|---|---|---|---|
| 用户 A | 100 | 80 | 80/100 × 1000 | 800 🔴 |
| 用户 B | 200 | 90 | 90/200 × 1000 | 450 🟡 |
| 用户 C | 150 | 50 | 50/150 × 1000 | 333 🟢 |
| 用户 D | 100 | 20 | 20/100 × 1000 | 200 🔵 |
客户端缓存
评分数据在浏览器本地缓存一天。因此当天新增的提交记录不会立即影响评分,通常在次日访问时更新。
评分颜色对照
根据评分高低,用户名将以不同颜色显示在讨论区、排行榜等处:
| 颜色 | 评分区间 | 对应 AC 率 | 含义 |
|---|---|---|---|
| 🔴 红色 | ≥ 500 | 50% 及以上 | 优秀 — 提交质量高,命中率过半 |
| 🟡 黄色 | 400 – 499 | 40%–49% | 良好 — 接近过半命中率 |
| 🟢 绿色 | 300 – 399 | 30%–39% | 一般 — 仍有较大提升空间 |
| 🔵 蓝色 | < 300 | 30% 以下 | 新手 — 建议多练习基础题目 |
评分在哪里显示?
彩色用户名会出现在以下位置:
- 讨论区 — 帖子和回复的作者名旁
- 排行榜 — 比赛排名列表中的用户名
- 短消息 — 发件人 / 收件人的用户名
如何提高评分?
评分由 AC 率决定,因此提高评分有两种方式:
- 提高 AC 数量 — 解决更多题目,提交更高质量的代码,减少调试性提交
- 减少无效提交 — 避免在没有充分思考的情况下反复提交,每次提交前先在本地测试
小建议
使用 XMOJ-Script 的获取测试点数据功能,可以快速定位错误原因,减少「无意义 WA 提交」的次数,从而逐步提升评分。
与洛谷「咕值」的比较
| 对比维度 | XMOJ-Script 评分 | 洛谷咕值 |
|---|---|---|
| 计算依据 | 纯 AC 提交率 | 活跃度 + 社区贡献 + 练习频次 |
| 刷新频率 | 客户端每天缓存刷新 | 每日服务端计算 |
| 社区贡献 | 不计入 | 计入加分项 |
| 主观因素 | 极少 | 较多(活跃奖励等) |
| 适用平台 | 仅 XMOJ | 仅洛谷 |
| 主要价值 | 客观反映做题命中率 | 综合衡量平台参与程度 |
XMOJ-Script 评分相对纯粹,不受社区活跃度和刷题频次影响,更能代表每次提交的平均质量。
