常见问题及解答
(最后更新:2023年02月04日)
更新记录:
- 2023 年 2 月 4 日:添加了 C++ 语言的 C++14、C++17 标准
Q:什么是评测鸭?
A:见这篇博客。
Q:可以使用什么编程语言提交?具体有什么限制?
A:
目前支持 C, C++ (含 C++11/14/17) 语言,使用 gcc 9.3.0
编译为 64 位程序,且开启 -O2
优化开关。具体的信息是:
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
- 被测程序在
Ubuntu 20.04
系统上被编译。 - C 语言程序使用
gcc
进行编译,编译选项为-static -U_FORTIFY_SOURCE -O2
。 - C++ 语言程序使用
g++
进行编译,编译选项同 C 语言编译选项。 - 当选用 C++11/14/17 标准时,在 C++ 语言编译选项之后加上
-std=c++11
或-std=c++14
或-std=c++17
。 - 标准输出将被重定向到内存中,所以你的内存使用量也包括了你的标准输出的大小(向上取整到 4KB 的倍数)。如果你的程序要进行大量输出,请考虑这一点。
Q:评测机配置如何?
A:评测机为物理机,具体配置如下
- Intel® Core™ i3-8100 CPU @ 3.60GHz
- 一级指令缓存:4 x 32 KB 8-way set associative instruction caches
- 一级数据缓存:4 x 32 KB 8-way set associative data caches
- 二级缓存:4 x 256 KB 4-way set associative caches
- 三级缓存:6 MB 12-way set associative shared cache
- 4GB DDR4 2400 RAM x 2
- 双通道内存
- 型号:KVR24N17S6L/4-SP
- JudgeDuck OS
- 访问 https://github.com/JudgeDuck 以了解更多。
Q:时间和空间使用量是如何计算的?
A: 空间使用量计算为你的程序运行时的总写入量,以 4 KB(一页)为单位。评测结束时,将统计评测期间被写入过的页的个数,乘以 4 KB 作为你的空间使用量。
我们的大多数题目保证你在运行时不需要进行任何“系统调用”(例如读写文件),并且 JudgeDuck OS 保证评测时不调度其他进程且不产生中断。这种情况下,“内核态时间”为零,且“用户态时间”等于“真实时间”,就是我们测定的时间。目前时间的分度值是 1 ns,评测的误差为 1 % + 1 ms 。
交互库会占用微量的时间和空间,例如当你的函数会被多次调用时,交互库会花费微量时间保存你的结果,这部分时间会计入你的时间和空间使用量。然而,生成数据、判定结果正确性等不会计入你的使用量;换句话说,我们会尽可能减少交互库占用的资源。如果交互库占用了任何空间,则题目会明确告知占用的量(即使只有 4 KB)。
Judge Duck Online | 评测鸭在线
Server Time: 2024-11-21 18:13:55 | Loaded in 43 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠