Universal Cup

UCup

比赛信息

比赛信息

  • 每场比赛都将在一周的周末举办。
  • 每场比赛的长度均为 5 小时。
  • 比赛的规则为传统的 ICPC 赛制。
  • 每场比赛将会包含若干道问题,通常为 10 至 13 道。
  • 在比赛开始后 4 小时将会封榜。在 4 小时后的提交将在排行榜上显示为 Pending。
  • 比赛将按照通过数为第一关键字降序,罚时为第二关键字升序来排名。
  • 一道题目的罚时为通过此题的时间(分钟数)。任何一次错误的提交(不含编译错误)将使得该题罚时增加 20 分钟。
  • 队伍的总罚时为所有通过题目的罚时之和。

比赛时间窗口

  • 为了方便来自不同时区的队伍,我们设置了个时间窗口。参加比赛的队伍可以自由选择八个窗口中的任意一个参加:
    • 08:00 (UTC +8) 周六 ~ 13:00 (UTC +8) 周六
    • 10:00 (UTC +8) 周六 ~ 15:00 (UTC +8) 周六
    • 13:00 (UTC +8) 周六 ~ 18:00 (UTC +8) 周六
    • 16:00 (UTC +8) 周六 ~ 21:00 (UTC +8) 周六
    • 19:00 (UTC +8) 周六 ~ 24:00 (UTC +8) 周六
    • 21:00 (UTC +8) 周六 ~ 02:00 (UTC +8) 周日
    • 23:00 (UTC +8) 周六 ~ 04:00 (UTC +8) 周日
    • 02:00 (UTC +8) 周日 ~ 07:00 (UTC +8) 周日
  • 无论选择哪一个窗口,比赛的时长均为 5 小时。
  • 排行榜中将显示来自以前窗口的队伍的结果。
  • In cases where a chosen competition window conflicts with significant events (e.g., other international competitions or festivals), teams may request an additional time window.
  • Such requests should ideally be made before the conclusion of the last official competition window.
    • If there is an additional window of time that is later than the last official window, an announcement will be made reminding all participants to wait until after the extended time window to discuss the problems in public places.
  • The committee will review all requests. Note that additional time windows pose a risk of the leak of the problems, and thus, non-credible requests are subject to rejection.
  • Risk of Early Participation: Teams that start their participation early must be aware of the potential for updates to contest materials. These updates may include but are not limited to revised problem descriptions, clarifications, incomplete leaderboards, adjusted time limits, additional test cases, and rejudgings. For further details on associated risks, please refer to the Contest Problems section of the rules.

比赛试题

  • 题目为传统的 ICPC 试题,没有任何子任务或部分分。
  • 在队伍报名阶段完成后,我们将会举办一场测试赛供大家熟悉比赛系统环境。
  • 大多数题目可以分为以下三类
    • 传统题:最常见的试题类型。你需要从标准输入中读取输入数据,并将答案输出到标准输出之中。
      • 测试赛的试题 A 即为一道传统题的例子。
    • 交互题:程序的输入并不会事先给定。你需要与交互库通过 I/O 进行交互。
      • 测试赛的试题 B 即为一道交互题的例子。
    • 通信题:You solution might run multiple times during the evaluation.
      • 测试赛的试题 C 即为一道通信题的例子。
  • 对于你的每次提交,评测系统将给出该提交的评测结果,包括:
    • AC: Your solution is accepted! It means you successfully solved this problem.
    • WA: The output of your solution is wrong.
    • TL: Your solution exceeds the time limit, which means it has run for longer time than permitted.
    • ML: Your solution exceeds the memory limit, which means it has consumed more memory than permitted.
    • RE: There was an error during the execution of your program, like division by zero, incorrectly addressing memory or reading or writing to files.
    • Compile Error: Your solution could not be compiled successfully.
    • Judgement Failed: There's something wrong in this problem. Please contact the administrator!
  • During the tournament, there may be instances where test case is incorrect or incomplete. In this case, all failed submissions will be rejudged.
  • Except for very special circumstances (e.g., attacks on the judging system, severe missing or incorrect test cases or output validators), submissions will not be rejudged once they have been accepted.
  • Prior to the start of the first official contest window, it is possible that problems may undergo substitutions, or test data may be added, deleted, modified, or otherwise altered in a manner that significantly impacts the competition. In such scenarios, the submissions from all teams participating in the additional time window, including those that were previously accepted, may be subject to rejection, rejudgment, or even deletion. Therefore, we advise teams to request an additional time window only under special circumstances.

技术信息

  • 比赛所用的平台为 QOJ,一个基于开源项目 Universal Online Judge 进行二次开发的评测系统.
  • 评测机使用的 CPU 为 Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz.
  • 比赛可以使用的编程语言包括 C,C++,D,Python 3,Rust,以及 Java.
  • 对于 C 与 C++ 语言,评测时使用的编译器版本为 GCC 13.1.0,并开启 -O2 优化。你可以自由选择编译时使用的语言版本,包括 C++98, C++11, C++14, C++17C++20.
  • The version of D is DMD64 D Compiler v2.106.0
  • Python3 的版本为 Python 3.12.9
  • Java 的版本为 OpenJDK 11.0.16
  • The version of Rust is rustc 1.70.1
  • 选手提交代码的大小上限为 256 KiB。

比赛规则

提问与公告

  • 在比赛期间,裁判可能会通过系统中的 Clarifications 发送公告,公告的内容可能包含对试题内容的解释、修改或其他重要信息。选手应当定期查看公告内容,因遗漏公告信息而造成的影响不能作为申诉的理由。
  • 在比赛期间,若选手对比赛存在问题,选手应当使用系统中的提问功能进行提问,不推荐采用其他通讯方式进行提问。

参赛要求

Please note that the rules regarding the number of computers have been changed since Stage 20.

  • Contestants may print out problem statements or use their own computers and electronic devices to read them during the competition.
  • During the competition, team members are not permitted to use their own electronic devices simultaneously for coding or employing other problem-solving applications. This includes, but is not limited to, writing code for solving problems, using scientific computing software for calculations, or running self-written programs for extended calculations.
  • Contestants are prohibited from communicating with anyone outside their team during the contest. Distribution of any problem-solving materials, including ideas, codes, or auxiliary programs, on the internet is strictly forbidden.
  • Contestants should not submit malicious codes, including but not limited to attacks on the evaluation machine and malicious occupation of evaluation system resources.
  • 每一轮比赛使用的题目可能来自此前已举行过的比赛。如果参赛的队伍中有任何一人参加过该比赛,则该名队员不应继续参加这场比赛。
  • 若参加该比赛的队伍与在 Universal Cup 中的队伍组成相同,则该队伍的成绩将被替换为其在原比赛中的成绩。
  • 在比赛时,每位队员可以同时使用自己的电脑,但在同一时刻只允许使用一台电脑来编写代码。

若选手违反上述原则,或做出了其他裁判组认为干扰了比赛正常运行的行为,则选手可能被处以警告、被移除比赛或禁止参加该赛季比赛的处罚。规则的解释权和执行权归 Universal Cup 组委会所有。

申诉

若选手对比赛过程中裁判的处理方式、比赛的试题或比赛的结果有异议,请于比赛结束后 48 小时内向 [email protected] 发送邮件说明问题。超出该时间的申诉视为无效。

Rating

请注意:现在的 Rating 系统仍在实验当中,在未来可能会有所改动。

Grand Prix 30 系统

在每场比赛中,所有进入前 30 名的队伍将会根据下表获得 GP30 点数:

排名点数排名点数排名点数
110011242110
2751222229
3601320238
4501418247
5451516256
6401615265
7361714274
8321813283
9291912292
10262011301

比赛 Rating

在每场比赛结束后,将会计算所有有效参赛队伍的 Rating。每支队伍的 Rating 计算方式为:

$$ R = 100 \times \frac{Solved}{maxSolved} \times \frac{n_{\mathrm{teams}} - rank + 1}{n_{\mathrm{teams}}} + \mathrm{GP30} $$

其中各参数的含义如下:

  • $R$ :最终该队的 Rating,为一个在 $[0, 200]$ 内的实数。
  • $Solved$ :该队伍实际解决的问题数。
  • $maxSolved$ :解题数最多的队伍所解决的问题数。
  • $n_{\mathrm{teams}}$ :解决了至少一道题目的队伍数。没有解决任何题目的队伍不被计算在内。
  • $rank$ :该队伍的最终排名。
  • $\mathrm{GP30}$ : 该队伍的 GP30 点数。如果该队伍没有进入前 30,则此项点数为 0。

赛季 Rating

一个队伍在赛季中的 Rating 将按照其在每场比赛中的 Rating 计算而来。具体地,设一个队伍在赛季中所有的比赛得到的 Rating 按降序排序后为 $r_0, r_1, r_2, \cdots, r_{m-1}$ ( $r_0 \geq r_1 \geq r_2 \geq \cdots \geq r_{m-1}$ ,则其最终 Rating 为:

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

第二届 Universal Cup 中,参数 $k$ 将被取为 $\displaystyle\frac{1}{4}$。

其他情形

当出现以下情形时,队伍可向组委会申请添加其在对应比赛的 Rating:

  • 当一个队伍在现场参加了一轮比赛后,将按照其现场的成绩计算 Rating。
  • 当一个队伍为一轮比赛的命题者、验题者时,将获得所有通过了至少一道题的队伍所得 Rating 的平均数作为其 Rating。