Skip to content

奖项认证(ICPC/CCPC) #116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
May 26, 2025
188 changes: 188 additions & 0 deletions docs/manual/luogu/account/award-certify-cpc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
---
sidebar_position: 4
sidebar_label: 奖项认证(ICPC/CCPC)
---

# 洛谷 ICPC/CCPC 程序设计能力认证

洛谷 ICPC/CCPC 奖项认证已上线。目前支持 2019 年以来“绝大部分”区域赛正式参赛选手奖项认证,**不支持打星队和邀请赛**。

## 支持的奖项

1. [目前已支持认证的奖项列表](https://www.luogu.com.cn/offline-prize/supported-events)。

2. 缺少(部分港澳站和西工大承办站):

- 第 48 届 ICPC 亚洲区域赛澳门站
- 第 48 届 ICPC 亚洲区域赛西安站
- 第 47 届 ICPC 亚洲区域赛香港站
- 第 46 届 ICPC 亚洲区域赛澳门站
- 第 46 届 ICPC EC Final 西安
- 第 45 届 ICPC EC Final 西安
- **2019(第 44 届)前的 ICPC 奖项**

3. 因现有数据存在问题不添加:

- 第 1-3 届 CCPC 官方公示奖项名单**不完整**

4. 因[客观原因](https://www.zhihu.com/question/460422916)不添加:

- 第 44-45 届 ICPC 亚洲区域赛银川站

目前我们已尽最大努力收集数据,但部分场次仍可能存在缺失或数据错误的问题,如您愿意贡献早期区域赛队伍成员名单(即**带队伍成员**的获奖名单或参赛手册)或向现有数据提出反馈,欢迎发送邮件至 `panda$luogu.com.cn`(`$`换成`@`) 向我们提供或补全相关数据,同时我们也会在未来支持个人认证。

## 认证方式

奖项认证分为 2 个步骤,实人认证和奖项认证。

### 实人认证 {#id-verify}

:::caution

- 洛谷将通过接口向支付宝核实用户提供的姓名、身份证号与申请者是否一致。
- 实人认证仅确认用户的真实身份,是之后自动奖项认证的前置条件。
- 一旦认证通过认证,绑定的实人信息无法更改。**请务必**提供自己的身份信息。

:::

具体流程为:

1. 进入[用户设置-安全设置](https://www.luogu.com.cn/user/setting/security),找到实人认证设置项,点击【开始认证】。
2. 输入真实姓名和身份证号码,点击提交。
3. 使用手机扫描页面上显示的二维码,根据页面提示完成人脸识别操作。(可使用系统自带浏览器、微信、支付宝)
4. 支付宝认证通过后将自动返回安全设置页。

### 奖项认证 {#award-certify}

#### 首次认证

1. 实人认证完成后,进入[用户设置-奖项认证](https://www.luogu.com.cn/user/setting/prize),点击【奖项认证】。
2. 认证类型选择【ICPC/CCPC】。
3. 系统会引导您发起首次认证工单,根据页面提示填写获奖期间对应学籍的学信网验证码完成认证。

#### 追加认证

在首次认证后,未来当洛谷奖项数据库中添加新奖项时,用户可**自行追加**已认证学校的奖项。

## 积分规则 {#score-rules}

### 单场比赛积分

单场比赛的积分按如下规则计算:

$$
R = k \times (100 \times p_{\mathrm{hi}} \times (p_p \times (p_{\mathrm{hi}} - p_{\mathrm{lo}}) + p_{\mathrm{lo}}) + \mathrm{GP40})
$$

$$
p_{\mathrm{hi}} = \dfrac{n_{\textbf{teams}} - rank_{\textbf{solvedHi}} + 1}{n_{\textbf{teams}}}
$$

$$
p_{\mathrm{lo}} = \dfrac{n_{\textbf{teams}} - rank_{\textbf{solvedLo}} + 1}{n_{\textbf{teams}}}
$$

$$
p_p =
\begin{cases}
1 & \mathrm{maxPenalty}(\textbf{solved}) = \mathrm{minPenalty}(\textbf{solved})\\
\dfrac{\mathrm{maxPenalty}(\textbf{solved}) -\mathrm{penalty}}{\mathrm{maxPenalty}(\textbf{solved}) - \mathrm{minPenalty}(\textbf{solved})} & \mathrm{maxPenalty}(\textbf{solved}) \neq \mathrm{minPenalty}(\textbf{solved})
\end{cases}
$$

其中:

- $k$ 为比赛系数,为 Final 设置一个大于 1 的系数(暂定为 1.5),其他比赛的系数为 1;
- $n_{\textrm{teams}}$ 代表该比赛通过至少一道题目的队伍数,该数字的最大值为 400;
- $rank_{\textbf{solvedHi}}$ 表示与该队伍通过数相同且和当前队伍排名差不超过 20 名的队伍的最高排名;**(2025 年 5 月 19 日修订)**
- $rank_{\textbf{solvedLo}}$ 表示与该队伍通过数相同的队伍的最低排名;
- $\textbf{solved}$ 表示该队伍的通过数;
- $\mathrm{maxPenalty}(\textbf{solved})$ 表示通过数为 $\textbf{solved}$ 的队伍的最大罚时;
- $\mathrm{minPenalty}(\textbf{solved})$ 表示通过数为 $\textbf{solved}$ 的队伍的最小罚时;
- $\mathrm{penalty}$ 表示该队伍的罚时;
- $\mathrm{GP40}$ 表示该队伍排名的 GP40 分数。

若一场比赛的参赛队伍数大于 400,则只有解题数不低于第 400 名的队伍才能获得积分。

**所有数据均不考虑打星参赛的队伍。**

GP40 积分表如下:

| 排名 | 积分 | 排名 | 积分 | 排名 | 积分 | 排名 | 积分 |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 1 | 100 | 11 | 54 | 21 | 31 | 31 | 11 |
| 2 | 95 | 12 | 51 | 22 | 29 | 32 | 9 |
| 3 | 90 | 13 | 48 | 23 | 27 | 33 | 8 |
| 4 | 85 | 14 | 45 | 24 | 25 | 34 | 7 |
| 5 | 80 | 15 | 43 | 25 | 23 | 35 | 6 |
| 6 | 75 | 16 | 41 | 26 | 21 | 36 | 5 |
| 7 | 70 | 17 | 39 | 27 | 19 | 37 | 4 |
| 8 | 65 | 18 | 37 | 28 | 17 | 38 | 3 |
| 9 | 60 | 19 | 35 | 29 | 15 | 39 | 2 |
| 10 | 57 | 20 | 33 | 30 | 13 | 40 | 1 |

对港澳赛站,CCPC Final 等队伍数量较少的赛站(少于 200 队),使用 GP20 积分表:

| 排名 | 积分 | 排名 | 积分 |
| ---: | ---: | ---: | ---: |
| 1 | 100 | 11 | 30 |
| 2 | 85 | 12 | 25 |
| 3 | 75 | 13 | 20 |
| 4 | 65 | 14 | 17 |
| 5 | 60 | 15 | 14 |
| 6 | 55 | 16 | 11 |
| 7 | 50 | 17 | 8 |
| 8 | 45 | 18 | 5 |
| 9 | 40 | 19 | 3 |
| 10 | 35 | 20 | 1 |

### 总积分

将选手在各场比赛中获得的积分,按降序顺序排列,记为 $r_0, r_1, \ldots r_{m - 1}$,则选手的总积分 $R$ 依照如下公式算出:

$$
R = k \sum_{i = 0}^{m - 1} (1 - k)^i r_i
$$

以上公式中,系数 $k$ 的值取 $\frac{4}{5}$。

### 评级 {#rating}

评级标准分为两项:单场积分和总积分,满足一个条件即可。

评级数据原则上只统计有榜单数据的 ICPC 区域赛和 EC Final,CCPC 国赛(不含女生专场,高职专场)和总决赛。邀请赛和省赛暂不列入统计范围,打星参赛也不计入。

以下分数线为 **2025 年 5 月 19 日第一次修订后**标准,获取更多比赛数据后可能还会进行调整。

- 8 级(金气球):单场积分 120 分,或总积分 100 分。
- 6 级(蓝气球):单场积分 60 分,或总积分 55 分。
- 3 级(绿气球):有获奖记录。

目前 ICPC/CCPC 认证仅完成了 3 个气球颜色等级的划分,未来根据实际情况会完成和 OI 认证相同的完整 10 个等级的划分。

### 附录

#### 部分场次积分汇总结果

| 比赛名 | 120 分以上队伍数 | 60 分以上队伍数 | $n_{\mathrm{teams}}$ |
| :----------- | :----------: | :----------: | :----------: |
| ICPC 2024 成都 | 21(6.8%) | 94(30.6%) | 307 |
| ICPC 2024 南京 | 21(6.3%) | 102(30.5%) | 334 |
| ICPC 2024 杭州 | 21(5.8%) | 81(22.3%) | 364 |
| ICPC 2024 沈阳 | 20(6.7%) | 80(26.7%) | 300 |
| CCPC 2024 重庆 | 20(7.2%) | 81(29.1%) | 278 |
| CCPC 2024 郑州 | 21(7.6%) | 96(34.8%) | 276 |
| ICPC 2024 EC Final | 36(12.9%) | 137(49.1%) | 279 |
| ICPC 2023 EC Final | 39(14.0%) | 132(47.3%) | 279 |
| CCPC 2023 Final | 17(13.4%) | 51(40.2%) | 127 |
| ICPC 2022 西安 | 21(5.3%) | 96(24.0%) | 400$^1$ |
| ICPC 2022 济南 | 22(5.5%) | 135(33.8%) | 400$^1$ |

注:

$^1$:实际参赛队伍数超过 400 队。在计算百分比时仍然以 $n_{\mathrm{teams}}$ 为基数,而非实际有效参赛队伍数。

## 补充说明

目前 ICPC/CCPC 奖项认证仍处于试运行阶段,功能以及规则随时可能发生变动,请已实际情况为准。

Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# 奖项认证
---
sidebar_position: 3
sidebar_label: 奖项认证(OI)
slug: award-certify
---

# 洛谷 OI 程序设计能力认证

一直以来,我们都希望可以为洛谷用户们提供更高效的用户识别机制,帮助大家对用户的真实水平进行综合判断。个人认证正是基于这个想法进行的尝试。现在,我们上线了信息学奖项认证功能,将洛谷账号和获得奖项对应起来,证明自己的水平。

洛谷已上线 CCPC/IPPC 部分奖项的奖项认证,具体详见:[奖项认证(CCPC/IPPC)](award-certify-cpc.md)

## 认证需要满足什么条件吗

用户如果希望进行奖项认证,首先需要获得 OI 系列比赛的奖项。
Expand Down
5 changes: 5 additions & 0 deletions docs/manual/luogu/account/elo-ranking.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
sidebar_position: 5
sidebar_label: 洛谷比赛等级分
---

# 洛谷比赛等级分

洛谷的致力于提供高质量的线上程序竞赛。目前洛谷引入了等级分(Elo Rating)系统,以便根据用户在竞赛中的表现来计算他们的技能水平。
Expand Down
7 changes: 6 additions & 1 deletion docs/manual/luogu/account/guzhi.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
sidebar_position: 2
sidebar_label: 咕值系统
---

# 咕值系统

**洛谷咕值**是用于对用户的行为进行量化评定用户等级方式。
Expand Down Expand Up @@ -26,7 +31,7 @@
- **练习情况:**
用户在洛谷题库中完成**公共题库**或 **RemoteJudge 题库**中的题目可以获得加分,加分不与刷题数量线性相关。**如果被查实有抄袭题解刷分等行为,分数将被清零**。如果一段时间不在洛谷练习,分数会逐渐降低。
- **获得成就:**
用户在洛谷进行[奖项认证](./award-certify.md)后,根据 **CCF 程序设计能力等级**可以获得对应的分数,等级越高,得分越多。
用户在洛谷进行[奖项认证(OI)](./award-certify-oi.md)后,根据**洛谷认证等级**可以获得对应的分数,等级越高,得分越多。

## 咕值的作用

Expand Down
13 changes: 8 additions & 5 deletions docs/manual/luogu/account/setting.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
sidebar_position: 1
sidebar_label: 个人设置
---

# 个人设置

## 代码公开计划
Expand All @@ -14,14 +19,12 @@

奖项认证洛谷为用户们提供更高效的用户识别机制,将洛谷账号和获得奖项对应起来,向外界证明自己的水平,并根据水平获得不等的咕值。

认证后的用户可以在个人中心中显示自己曾经获得的奖项,用户名旁边根据奖项显示已认证标记(CCF 3-5 级为绿色,6-7 级为蓝色,8 级以上为金色),增加社区活动的学术可信度。
认证后的用户可以在个人中心中显示自己曾经获得的奖项,用户名旁边根据奖项显示已认证标记(OI 系列的钩子和 ICPC/CCPC 系列的气球),增加社区活动的学术可信度。

进行奖项认证的方法可以参照[奖项认证的说明](./award-certify.md)。
进行奖项认证的方法可以参照[奖项认证(OI)](./award-certify-oi.md)和[奖项认证(ICPC/CCPC)](./award-certify-cpc.md)。

## 安全设置

可以修改自己的密码和用户名。每 365 天可以修改一次。

用户也可以在这里设置两步验证,在每次登录时使用手机或者邮件登录,增加安全性。设置后可以在锁定账号时进行两部验证,增加安全性。

账号申诉、检讨发送邮箱:[email protected]
用户也可以在这里设置两步验证,在每次登录时使用手机或者邮件登录,增加安全性。设置后可以在锁定账号时进行两步验证,增加安全性。