From 1e23cd48944fc2d0326a3727f11d1665270aaf35 Mon Sep 17 00:00:00 2001 From: boomzero Date: Mon, 5 Oct 2026 21:52:48 +0800 Subject: [PATCH 1/6] Document the redesigned 0-3000 user rating Replace the AC-rate formula with the new rating: attempt-weighted solve volume, accuracy that peaks at 45-60%, active days, and the per-day AC soft cap. Examples use made-up profiles. Add colors for the six tiers. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- .vitepress/theme/style.css | 8 +++-- features/index.md | 2 +- features/rating.md | 71 +++++++++++++++++++++++++++++++------- index.md | 2 +- 4 files changed, 66 insertions(+), 17 deletions(-) diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css index 335983d..56adf43 100644 --- a/.vitepress/theme/style.css +++ b/.vitepress/theme/style.css @@ -356,12 +356,16 @@ kbd { .rating.red { color: #dc3545; } .rating.yellow { color: #b38600; } +.rating.blue { color: #0d6efd; } .rating.green { color: #198754; } -.rating.blue { color: #0aa2c0; } +.rating.cyan { color: #0aa2c0; } +.rating.gray { color: #6c757d; } .dark .rating.yellow { color: #ffc107; } +.dark .rating.blue { color: #6ea8fe; } .dark .rating.green { color: #75b798; } -.dark .rating.blue { color: #6edff6; } +.dark .rating.cyan { color: #6edff6; } +.dark .rating.gray { color: #a7acb1; } /* 页脚与大纲 */ .VPFooter { diff --git a/features/index.md b/features/index.md index 4a0eb6d..9ee2387 100644 --- a/features/index.md +++ b/features/index.md @@ -9,7 +9,7 @@ | 恢复讨论与短消息 | 恢复小明的OJ上关掉的讨论区和短消息,由 XMOJ-Script 的服务器提供。 | | 讨论提醒、短消息提醒 | 有人回复、@你或者发短消息时弹出提醒。 | | [粘贴发图](./image-hosting) | 在讨论区和短消息里直接粘贴截图。 | -| [用户评分](./rating) | 按 AC 率显示分数和彩色用户名。 | +| [用户评分](./rating) | 综合做题量、准确度和坚持度显示分数和彩色用户名。 | | [徽章](../community/badges) | 用户名旁边的小标签。 | | 设置云同步 | 把插件设置同步到云端,换电脑不用重新设置。 | diff --git a/features/rating.md b/features/rating.md index 5afb78f..a7637a8 100644 --- a/features/rating.md +++ b/features/rating.md @@ -2,18 +2,61 @@ 开启「添加用户评分和用户名颜色」后,用户名会按评分显示颜色,个人主页上也会显示具体分数。 +评分范围是 0–3000,只根据用户个人主页上公开的数据计算:每道已解决题目的提交次数,以及每天的提交数和 AC 数。不依赖当前时间,也不需要额外请求,所以同一个主页在任何人的浏览器里算出来都是同一个分数。 + ## 怎么算 -$$\text{评分} = \frac{\text{AC 的提交数}}{\text{全部提交数}} \times 1000$$ +评分由三部分组成: + +| 部分 | 权重 | 看什么 | +|------|------|--------| +| 做题量 | 57% | 解决了多少题,一次通过的题算得更多 | +| 准确度 | 33% | 一次通过率和平均每次提交的通过率 | +| 坚持度 | 10% | 有提交记录的天数 | + +### 做题量 + +每道已解决的题按提交次数 $c$ 计分: + +$$w(c) = \frac{1}{1 + 0.4 \ln c}$$ + +一次通过记 1 分,交 3 次约 0.69 分,交 10 次约 0.52 分。重试不会让题白做,但一次做对更值钱。 + +为了防止一天内大量粘贴代码刷题,每天的 AC 数超过 8 之后按对数增长:一天 AC 14 次约折算成 12.5 次,AC 120 次只折算成约 30 次。正常练习和比赛基本不受影响。 + +所有题的得分加起来记为 $V$,再经过一条饱和曲线: + +$$\text{做题量} = 1 - e^{-V/350}$$ + +做到几百题以后,继续刷题的收益会越来越小。要拿高分,还得靠准确度。 + +### 准确度 + +准确度取「一次通过的题占比」和「每次提交的平均通过率」的平均值。两者都会先向普通水平收缩,所以只做了几道题、碰巧全对,并不会拿到高分。 + +真正的强者也会在难题上失败,所以准确度在 45%–60% 时得到满分。高于这个范围反而减分:几百道题几乎全部一次通过,更像是复制的代码。 + +准确度还要乘上 $\dfrac{\text{解决题数}}{\text{解决题数} + 80}$。题做得越多,准确度越可信,占的分量也越大。 + +### 坚持度 + +$$\text{坚持度} = 1 - e^{-\text{活跃天数}/250}$$ + +### 合在一起 + +$$\text{评分} = 3000 \times \left(0.57 \cdot \text{做题量} + 0.33 \cdot \text{准确度} + 0.10 \cdot \text{坚持度}\right)^{0.9}$$ -全部提交数包括 WA、TLE、CE 等所有结果。所以评分看的是命中率,不是做了多少题。 +## 例子 -| 用户 | 全部提交 | AC | 评分 | -|------|---------|----|------| -| A | 100 | 80 | 800 | -| B | 200 | 90 | 450 | -| C | 150 | 50 | 333 | -| D | 100 | 20 | 200 | +| 用户 | 情况 | 评分 | +|------|------|------| +| A | 解决 400 题,约一半一次通过 | 1978 | +| B | 解决 1500 题,约四分之一一次通过 | 2289 | +| C | 解决 300 题,全部一次通过(像是复制的) | 1492 | +| D | 解决 600 题,每题都交了 8 次 | 1320 | +| E | 解决 150 题,约五分之一一次通过 | 791 | +| F | 和 C 一样,但每天 AC 50 题 | 969 | +| G | 新用户,解决 20 题 | 182 | 评分在浏览器里缓存一天,所以今天的提交通常明天才会反映出来。 @@ -21,10 +64,12 @@ $$\text{评分} = \frac{\text{AC 的提交数}}{\text{全部提交数}} \times 1 | 颜色 | 评分 | |------|------| -| 红 | 高于 500 | -| 黄 | 400–500 | -| 绿 | 300–399 | -| 蓝 | 低于 300 | +| 红 | 2400 及以上 | +| 橙 | 2000–2399 | +| 蓝 | 1600–1999 | +| 绿 | 1200–1599 | +| 青 | 800–1199 | +| 灰 | 低于 800 | ## 在哪里显示 @@ -35,4 +80,4 @@ $$\text{评分} = \frac{\text{AC 的提交数}}{\text{全部提交数}} \times 1 ## 想提高评分? -少交没把握的代码。提交前先在本地测好;没过的时候,用[获取测试点数据](./get-data)找到原因再改,别反复试。 +多做题,尤其是有挑战的题,并且尽量一次做对。提交前先在本地测好;没过的时候,用[获取测试点数据](./get-data)找到原因再改,别反复试。一天集中刷大量题目不会让评分涨得更快。 diff --git a/index.md b/index.md index 23b7551..1cc3f9b 100644 --- a/index.md +++ b/index.md @@ -22,7 +22,7 @@ hero: features: - title: 用户评分 - details: 按 AC 率算出 0–1000 分,用户名按分数显示红、黄、绿、蓝四种颜色。 + details: 综合做题量、准确度和坚持度算出 0–3000 分,难以刷分;用户名按分数显示六种颜色。 link: /features/rating linkText: 怎么算的 - title: 粘贴就能发图 From c42727b50c6c70b44b3823413bc0df501baabf7c Mon Sep 17 00:00:00 2001 From: boomzero Date: Mon, 5 Oct 2026 22:09:35 +0800 Subject: [PATCH 2/6] Spell out the exact rating formula with a worked example Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- features/rating.md | 51 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/features/rating.md b/features/rating.md index a7637a8..4f0e1ef 100644 --- a/features/rating.md +++ b/features/rating.md @@ -14,37 +14,66 @@ | 准确度 | 33% | 一次通过率和平均每次提交的通过率 | | 坚持度 | 10% | 有提交记录的天数 | +### 用到的数据 + +全部来自个人主页: + +| 符号 | 含义 | +|------|------| +| $S$ | 解决的题数 | +| $c_i$ | 第 $i$ 道已解决题目旁括号里的提交次数(至少按 1 算) | +| $S_1$ | $c_i = 1$ 的题数,即一次通过的题数 | +| $a_d$ | 提交统计图中第 $d$ 天的 AC 数 | +| $D$ | 提交统计图中有提交的天数 | + +$S = 0$ 时评分为 0。 + ### 做题量 -每道已解决的题按提交次数 $c$ 计分: +每道已解决的题按提交次数计分,一次通过记 1 分,交 3 次约 0.69 分,交 10 次约 0.52 分: -$$w(c) = \frac{1}{1 + 0.4 \ln c}$$ +$$w(c) = \frac{1}{1 + 0.4 \ln c} \qquad W = \sum_{i=1}^{S} w(c_i)$$ -一次通过记 1 分,交 3 次约 0.69 分,交 10 次约 0.52 分。重试不会让题白做,但一次做对更值钱。 +为了防止一天内大量粘贴代码刷题,每天的 AC 数超过 8 之后按对数增长。一天 AC 14 次折算成约 12.5 次,AC 120 次只折算成约 30 次: -为了防止一天内大量粘贴代码刷题,每天的 AC 数超过 8 之后按对数增长:一天 AC 14 次约折算成 12.5 次,AC 120 次只折算成约 30 次。正常练习和比赛基本不受影响。 +$$g(a) = \begin{cases} a & a \le 8 \\ 8 + 8 \ln\left(1 + \dfrac{a - 8}{8}\right) & a > 8 \end{cases} \qquad B = \frac{\sum_d g(a_d)}{\sum_d a_d}$$ -所有题的得分加起来记为 $V$,再经过一条饱和曲线: +没有 AC 记录时 $B = 1$。$B$ 是一个 0–1 之间的折扣,正常练习和比赛时基本等于 1。 -$$\text{做题量} = 1 - e^{-V/350}$$ +$$V = W \cdot B \qquad \text{做题量} = 1 - e^{-V/350}$$ 做到几百题以后,继续刷题的收益会越来越小。要拿高分,还得靠准确度。 ### 准确度 -准确度取「一次通过的题占比」和「每次提交的平均通过率」的平均值。两者都会先向普通水平收缩,所以只做了几道题、碰巧全对,并不会拿到高分。 +先算一次通过率 $F$ 和平均每次提交的通过率 $P$。两者都加了虚拟样本,向普通水平(25% 和 20%)收缩,所以只做了几道题、碰巧全对,并不会拿到高分: + +$$F = \frac{S_1 + 5}{S + 20} \qquad P = \frac{S + 12}{\sum_i c_i + 60} \qquad a = \frac{F + P}{2}$$ -真正的强者也会在难题上失败,所以准确度在 45%–60% 时得到满分。高于这个范围反而减分:几百道题几乎全部一次通过,更像是复制的代码。 +真正的强者也会在难题上失败,所以 $a$ 在 45%–60% 时得到满分。高于这个范围反而减分:几百道题几乎全部一次通过,更像是复制的代码。 -准确度还要乘上 $\dfrac{\text{解决题数}}{\text{解决题数} + 80}$。题做得越多,准确度越可信,占的分量也越大。 +$$\text{准确度} = \begin{cases} 0 & a < 0.15 \\ \dfrac{a - 0.15}{0.30} & 0.15 \le a < 0.45 \\ 1 & 0.45 \le a < 0.6 \\ \max\left(0.3,\ 1 - 2(a - 0.6)\right) & a \ge 0.6 \end{cases}$$ + +题做得越多,准确度越可信,所以它还要乘上可信度: + +$$K = \frac{S}{S + 80}$$ ### 坚持度 -$$\text{坚持度} = 1 - e^{-\text{活跃天数}/250}$$ +$$\text{坚持度} = 1 - e^{-D/250}$$ ### 合在一起 -$$\text{评分} = 3000 \times \left(0.57 \cdot \text{做题量} + 0.33 \cdot \text{准确度} + 0.10 \cdot \text{坚持度}\right)^{0.9}$$ +$$\text{评分} = \operatorname{round}\left(3000 \times \left(0.57 \cdot \text{做题量} + 0.33 \cdot \text{准确度} \cdot K + 0.10 \cdot \text{坚持度}\right)^{0.9}\right)$$ + +### 算一遍 + +一个新用户解决了 2 道题,分别交了 7 次和 1 次。三天的 AC 数是 8、2、4,这三天都有提交: + +- $W = \frac{1}{1 + 0.4 \ln 7} + 1 \approx 1.5625$,每天 AC 都不超过 8,所以 $B = 1$,$V \approx 1.5625$,做题量 $= 1 - e^{-1.5625/350} \approx 0.00445$ +- $F = \frac{1 + 5}{2 + 20} \approx 0.2727$,$P = \frac{2 + 12}{8 + 60} \approx 0.2059$,$a \approx 0.2393$,准确度 $= \frac{0.2393 - 0.15}{0.30} \approx 0.2977$,$K = \frac{2}{82} \approx 0.0244$ +- 坚持度 $= 1 - e^{-3/250} \approx 0.0119$ +- 评分 $= 3000 \times (0.57 \times 0.00445 + 0.33 \times 0.2977 \times 0.0244 + 0.10 \times 0.0119)^{0.9} \approx 3000 \times 0.00613^{0.9} \approx 31$ ## 例子 From b42f6d249ff5519901b9e3fafaa9eb577bb098b7 Mon Sep 17 00:00:00 2001 From: boomzero Date: Mon, 5 Oct 2026 22:14:28 +0800 Subject: [PATCH 3/6] Use verdict totals for rating accuracy in the docs The count after each solved problem includes submissions after AC, so the formula no longer uses it. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- features/rating.md | 51 +++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/features/rating.md b/features/rating.md index 4f0e1ef..cb70ff9 100644 --- a/features/rating.md +++ b/features/rating.md @@ -2,7 +2,7 @@ 开启「添加用户评分和用户名颜色」后,用户名会按评分显示颜色,个人主页上也会显示具体分数。 -评分范围是 0–3000,只根据用户个人主页上公开的数据计算:每道已解决题目的提交次数,以及每天的提交数和 AC 数。不依赖当前时间,也不需要额外请求,所以同一个主页在任何人的浏览器里算出来都是同一个分数。 +评分范围是 0–3000,只根据用户个人主页上公开的数据计算:解决的题数、各种评测结果的次数,以及每天的提交数和 AC 数。不依赖当前时间,也不需要额外请求,所以同一个主页在任何人的浏览器里算出来都是同一个分数。 ## 怎么算 @@ -10,8 +10,8 @@ | 部分 | 权重 | 看什么 | |------|------|--------| -| 做题量 | 57% | 解决了多少题,一次通过的题算得更多 | -| 准确度 | 33% | 一次通过率和平均每次提交的通过率 | +| 做题量 | 57% | 解决了多少题 | +| 准确度 | 33% | 评测过的提交里,有多少解决了新题 | | 坚持度 | 10% | 有提交记录的天数 | ### 用到的数据 @@ -21,38 +21,37 @@ | 符号 | 含义 | |------|------| | $S$ | 解决的题数 | -| $c_i$ | 第 $i$ 道已解决题目旁括号里的提交次数(至少按 1 算) | -| $S_1$ | $c_i = 1$ 的题数,即一次通过的题数 | +| $X$ | 失败的评测次数:格式错误、答案错误、时间超限、内存超限、输出超限、运行错误之和 | | $a_d$ | 提交统计图中第 $d$ 天的 AC 数 | | $D$ | 提交统计图中有提交的天数 | +编译错误和「忽略」不计入 $X$。已解决题目旁括号里的数字是这道题的全部提交次数,包括 AC 之后的提交,所以评分不使用它。 + $S = 0$ 时评分为 0。 ### 做题量 -每道已解决的题按提交次数计分,一次通过记 1 分,交 3 次约 0.69 分,交 10 次约 0.52 分: - -$$w(c) = \frac{1}{1 + 0.4 \ln c} \qquad W = \sum_{i=1}^{S} w(c_i)$$ - 为了防止一天内大量粘贴代码刷题,每天的 AC 数超过 8 之后按对数增长。一天 AC 14 次折算成约 12.5 次,AC 120 次只折算成约 30 次: $$g(a) = \begin{cases} a & a \le 8 \\ 8 + 8 \ln\left(1 + \dfrac{a - 8}{8}\right) & a > 8 \end{cases} \qquad B = \frac{\sum_d g(a_d)}{\sum_d a_d}$$ 没有 AC 记录时 $B = 1$。$B$ 是一个 0–1 之间的折扣,正常练习和比赛时基本等于 1。 -$$V = W \cdot B \qquad \text{做题量} = 1 - e^{-V/350}$$ +$$\text{做题量} = 1 - e^{-S B / 350}$$ 做到几百题以后,继续刷题的收益会越来越小。要拿高分,还得靠准确度。 ### 准确度 -先算一次通过率 $F$ 和平均每次提交的通过率 $P$。两者都加了虚拟样本,向普通水平(25% 和 20%)收缩,所以只做了几道题、碰巧全对,并不会拿到高分: +先算评测过的提交里解决新题的比例 $P$。分子分母都加了 40 次虚拟提交(其中 25% 成功),向普通水平收缩,所以只做了几道题、碰巧全对,并不会拿到高分: + +$$P = \frac{S + 10}{S + X + 40}$$ -$$F = \frac{S_1 + 5}{S + 20} \qquad P = \frac{S + 12}{\sum_i c_i + 60} \qquad a = \frac{F + P}{2}$$ +AC 之后重复提交 AC 代码既不增加 $S$ 也不增加 $X$,对评分没有影响。 -真正的强者也会在难题上失败,所以 $a$ 在 45%–60% 时得到满分。高于这个范围反而减分:几百道题几乎全部一次通过,更像是复制的代码。 +真正的强者也会在难题上失败,所以 $P$ 在 40%–55% 时得到满分。高于这个范围反而减分:几百道题几乎从不失败,更像是复制的代码。 -$$\text{准确度} = \begin{cases} 0 & a < 0.15 \\ \dfrac{a - 0.15}{0.30} & 0.15 \le a < 0.45 \\ 1 & 0.45 \le a < 0.6 \\ \max\left(0.3,\ 1 - 2(a - 0.6)\right) & a \ge 0.6 \end{cases}$$ +$$\text{准确度} = \begin{cases} 0 & P < 0.15 \\ \dfrac{P - 0.15}{0.25} & 0.15 \le P < 0.4 \\ 1 & 0.4 \le P < 0.55 \\ \max\left(0.3,\ 1 - 2(P - 0.55)\right) & P \ge 0.55 \end{cases}$$ 题做得越多,准确度越可信,所以它还要乘上可信度: @@ -68,24 +67,24 @@ $$\text{评分} = \operatorname{round}\left(3000 \times \left(0.57 \cdot \text{ ### 算一遍 -一个新用户解决了 2 道题,分别交了 7 次和 1 次。三天的 AC 数是 8、2、4,这三天都有提交: +一个新用户解决了 2 道题,答案错误 12 次,没有其他失败。三天的 AC 数是 8、2、4,这三天都有提交: -- $W = \frac{1}{1 + 0.4 \ln 7} + 1 \approx 1.5625$,每天 AC 都不超过 8,所以 $B = 1$,$V \approx 1.5625$,做题量 $= 1 - e^{-1.5625/350} \approx 0.00445$ -- $F = \frac{1 + 5}{2 + 20} \approx 0.2727$,$P = \frac{2 + 12}{8 + 60} \approx 0.2059$,$a \approx 0.2393$,准确度 $= \frac{0.2393 - 0.15}{0.30} \approx 0.2977$,$K = \frac{2}{82} \approx 0.0244$ +- 每天 AC 都不超过 8,所以 $B = 1$,做题量 $= 1 - e^{-2/350} \approx 0.00570$ +- $P = \frac{2 + 10}{2 + 12 + 40} \approx 0.2222$,准确度 $= \frac{0.2222 - 0.15}{0.25} \approx 0.2889$,$K = \frac{2}{82} \approx 0.0244$ - 坚持度 $= 1 - e^{-3/250} \approx 0.0119$ -- 评分 $= 3000 \times (0.57 \times 0.00445 + 0.33 \times 0.2977 \times 0.0244 + 0.10 \times 0.0119)^{0.9} \approx 3000 \times 0.00613^{0.9} \approx 31$ +- 评分 $= 3000 \times (0.57 \times 0.00570 + 0.33 \times 0.2889 \times 0.0244 + 0.10 \times 0.0119)^{0.9} \approx 3000 \times 0.00677^{0.9} \approx 33$ ## 例子 | 用户 | 情况 | 评分 | |------|------|------| -| A | 解决 400 题,约一半一次通过 | 1978 | -| B | 解决 1500 题,约四分之一一次通过 | 2289 | -| C | 解决 300 题,全部一次通过(像是复制的) | 1492 | -| D | 解决 600 题,每题都交了 8 次 | 1320 | -| E | 解决 150 题,约五分之一一次通过 | 791 | -| F | 和 C 一样,但每天 AC 50 题 | 969 | -| G | 新用户,解决 20 题 | 182 | +| A | 解决 1500 题,平均每题失败 3 次 | 2358 | +| B | 解决 400 题,平均每题失败 1.25 次 | 2166 | +| C | 解决 600 题,平均每题失败 7 次 | 1672 | +| D | 解决 300 题,从未失败(像是复制的) | 1431 | +| E | 解决 150 题,平均每题失败 3 次 | 1024 | +| F | 和 D 一样,但每天 AC 50 题 | 905 | +| G | 新用户,解决 20 题,平均每题失败 3 次 | 246 | 评分在浏览器里缓存一天,所以今天的提交通常明天才会反映出来。 @@ -109,4 +108,4 @@ $$\text{评分} = \operatorname{round}\left(3000 \times \left(0.57 \cdot \text{ ## 想提高评分? -多做题,尤其是有挑战的题,并且尽量一次做对。提交前先在本地测好;没过的时候,用[获取测试点数据](./get-data)找到原因再改,别反复试。一天集中刷大量题目不会让评分涨得更快。 +多做题,尤其是有挑战的题,并且减少失败的提交。提交前先在本地测好;没过的时候,用[获取测试点数据](./get-data)找到原因再改,别反复试。一天集中刷大量题目不会让评分涨得更快。 From 9fe75181f70c2526cd762958b7d8f7dcf47677b5 Mon Sep 17 00:00:00 2001 From: boomzero Date: Mon, 5 Oct 2026 23:00:12 +0800 Subject: [PATCH 4/6] Match rating colors to the script's single palette Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- .vitepress/theme/style.css | 19 +++++++------------ features/rating.md | 6 +++--- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css index 56adf43..edb1589 100644 --- a/.vitepress/theme/style.css +++ b/.vitepress/theme/style.css @@ -354,18 +354,13 @@ kbd { font-weight: 700; } -.rating.red { color: #dc3545; } -.rating.yellow { color: #b38600; } -.rating.blue { color: #0d6efd; } -.rating.green { color: #198754; } -.rating.cyan { color: #0aa2c0; } -.rating.gray { color: #6c757d; } - -.dark .rating.yellow { color: #ffc107; } -.dark .rating.blue { color: #6ea8fe; } -.dark .rating.green { color: #75b798; } -.dark .rating.cyan { color: #6edff6; } -.dark .rating.gray { color: #a7acb1; } +/* 与脚本中的用户名颜色一致,浅色和深色模式共用一套颜色 */ +.rating.red { color: #e8434b; } +.rating.orange { color: #e8590c; } +.rating.blue { color: #337cf2; } +.rating.green { color: #2b9f4f; } +.rating.cyan { color: #1798b0; } +.rating.gray { color: #78828c; } /* 页脚与大纲 */ .VPFooter { diff --git a/features/rating.md b/features/rating.md index cb70ff9..02bed9c 100644 --- a/features/rating.md +++ b/features/rating.md @@ -78,8 +78,8 @@ $$\text{评分} = \operatorname{round}\left(3000 \times \left(0.57 \cdot \text{ | 用户 | 情况 | 评分 | |------|------|------| -| A | 解决 1500 题,平均每题失败 3 次 | 2358 | -| B | 解决 400 题,平均每题失败 1.25 次 | 2166 | +| A | 解决 1500 题,平均每题失败 3 次 | 2358 | +| B | 解决 400 题,平均每题失败 1.25 次 | 2166 | | C | 解决 600 题,平均每题失败 7 次 | 1672 | | D | 解决 300 题,从未失败(像是复制的) | 1431 | | E | 解决 150 题,平均每题失败 3 次 | 1024 | @@ -93,7 +93,7 @@ $$\text{评分} = \operatorname{round}\left(3000 \times \left(0.57 \cdot \text{ | 颜色 | 评分 | |------|------| | 红 | 2400 及以上 | -| 橙 | 2000–2399 | +| 橙 | 2000–2399 | | 蓝 | 1600–1999 | | 绿 | 1200–1599 | | 青 | 800–1199 | From a880a4e7d15a1ed8984878bb2684ed1925476222 Mon Sep 17 00:00:00 2001 From: boomzero Date: Tue, 6 Oct 2026 08:13:12 +0800 Subject: [PATCH 5/6] Separate the red and orange rating colors Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- .vitepress/theme/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css index edb1589..d41d8e8 100644 --- a/.vitepress/theme/style.css +++ b/.vitepress/theme/style.css @@ -355,8 +355,8 @@ kbd { } /* 与脚本中的用户名颜色一致,浅色和深色模式共用一套颜色 */ -.rating.red { color: #e8434b; } -.rating.orange { color: #e8590c; } +.rating.red { color: #dc2f5a; } +.rating.orange { color: #d9730d; } .rating.blue { color: #337cf2; } .rating.green { color: #2b9f4f; } .rating.cyan { color: #1798b0; } From a5081b7bc2c8336d3f1754d52ed98cbc8dadd16f Mon Sep 17 00:00:00 2001 From: boomzero Date: Tue, 6 Oct 2026 08:17:06 +0800 Subject: [PATCH 6/6] Use the vivid orange for the second rating tier Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- .vitepress/theme/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css index d41d8e8..1039ca3 100644 --- a/.vitepress/theme/style.css +++ b/.vitepress/theme/style.css @@ -356,7 +356,7 @@ kbd { /* 与脚本中的用户名颜色一致,浅色和深色模式共用一套颜色 */ .rating.red { color: #dc2f5a; } -.rating.orange { color: #d9730d; } +.rating.orange { color: #e8590c; } .rating.blue { color: #337cf2; } .rating.green { color: #2b9f4f; } .rating.cyan { color: #1798b0; }