Domain
每个用户可以创建自己的班级。例如,老师可以为课程创建班级,然后把题目和学生加入其中。
通过合理设置角色及其权限,可以把班级设为公开或私有。
默认班级为 system。点击 USTC-OJ Logo 可以从其他班级返回 system 班级。
每个班级的题库、讨论、训练以及比赛相互独立。
Compilers' Version and Parameters
USTC-OJ 使用 HydroJudge 评测服务,编译参数和编译器版本以状态页为准。
Limitations
USTC-OJ 评测机使用进程的CPU时间计算时间消耗,时间的限定为题目中评测点所指定的时间。
USTC-OJ 评测机使用进程虚拟内存与物理内存总和计算内存空间消耗。内存空间默认限定为256MiB,题目中特别指明的,限定为题目中评测点所指定的内存空间。
IO
若无特殊说明,USTC-OJ 使用标准输入输出(控制台输入输出,屏幕输入输出,STD I/O)。
Judge Status
- Waiting 评测:评测请求正在等待被评测机抓取
- Fetched 评测:评测请求已被评测机抓取,正在准备开始评测
- Compiling 评测:正在编译中
- Judging 评测:编译成功,正在评测中
- Accepted 通过:程序输出完全正确
- Wrong Answer 不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行)
- Time Limit Exceeded 不通过:程序运行时间超过了题目限制
- Memory Limit Exceeded 不通过:程序运行内存空间超过了题目限制
- Runtime Error 不通过:程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等)
- Compile Error 不通过:编译失败
- System Error 错误:系统错误(如果您遇到此问题,请及时在讨论区进行反馈)
- Canceled 其他:评测被取消
- Unknown Error 其他:未知错误
- Ignored 其他:被忽略
有“成绩取消”字样则说明管理员手动标记此记录为取消,可能违反了服务条款,比如代码被发现与其他用户的代码十分相似。
Compile Error
可能有以下情况:
- 1. 递交时选错了编程语言
- 2. Java 的主类名没有使用 "Main"
- 3. 对于 C/C++:见下
- 4. 一般性的编译错误
对 C/C++ 选手的特别提醒:
- 1. __int64 在 GNU C++ 中应写成 long long 类型
- 2. main() 返回值必须定义为 int ,而不是 void
- 3. for 语句中的指标变量 i 将会在如"for (int i = 0...) {...}"语句之后变为无效
- 4. itoa 不是一个通用 ANSI 函数(标准 C/C++ 中无此函数)
- 5. printf 中使用 %lf 格式是不正确的
Training
我们精心挑选了一些题目组成了训练计划。单击导航栏的“训练”即可进入!
Contest
按照赛制不同,有不同的递交和排名规则。
OI 赛制所有题目均以最后一次递交为准,特别地,请避免编译错误。
OI 赛制排名规则为:总分高的排在前面,总分相等则排名相同。
XCPC 赛制中,每次错误提交会给题目增加 20 分钟罚时。
XCPC 赛制排名规则为:通过题目数多的排在前面;通过题目数相同时,做题耗时(含罚时)少的排在前面。
Ledo 赛制允许多次提交并实时获得评测结果。
Ledo 赛制下,多次提交会导致选手的得分被扣除,排行榜将显示用户的最高得分。
Ledo 赛制下,每道题的最终得分为: $s \times \max(0.95^{n}, 0.7)$ 。$s,n$ 分别代表本次得分和本次提交前的尝试次数。
Ledo 排名规则为:按照如上规则折算后的分数从高到低排名。
IOI(Strict) 赛制会关闭比赛期间的排行榜;每道题的排行榜得分为用户各子任务在所有提交中最大得分之和。
时间与空间限制以题目说明为准,默认限制参见Limitations。
Accepted Ratio
通过率的影响极其恶劣,USTC-OJ 不提供也不承认通过率。
Difficulty Algorithm
USTC-OJ 中题目的难度,根据递交数、通过率以及每个递交的递交时间和评测结果,通过算法计算得出。
因此,请注意以下几点:
- 0. 一般地,难度的数值越大,该题目越难。
- 1. 新题目的难度可能不准确;在题目获得大量递交之后,难度才会变得较为准确。
- 2. 越早递交评测的用户代码的评测结果对题目难度影响越大。
- 3. 题目的难度由算法计算得出,有可能出现不准确的结果。
Dataset Format
详见配置文档
Forgot Password and/or Username
如果您无法登录,请仔细想想,是不是用户名记错了。比如,自己原本想要注册的用户名已经被注册,所以使用了一个带有前和/或后缀的用户名。
如果您确信您的账号被盗或者忘记了账号和/或密码,请及时Reset Password or Find Username。