U568069 感性理解洛谷评测机速度(2025.06.01)
题目背景
未特别标明的情况下,每个测试点的时限为 3 秒,空间限制为 1G。
2025-06-01 评测机运行速度(只取最慢的测试点):
|OJ|#0|#1|#2|#3|#4|#5(sort 2e7)|#5(set 2.5e6)|#5(map 2.5e6)|#5(pq 2e7)|#6|#7|#8(测试点 10)|#9|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|洛谷(C++20 GCC13.2)|2.29s|1.05s|1.75s|995ms|1.01s|1.61s|4.79s|4.87s|5.79s|4.04s|3.99s|5.99s|5.74s|
|QOJ(老评测机,C++20 GCC14.2)|863ms|1.14s|1.77s|502ms|1.12s|1.72s|4.56s|5.07s|4.86s|2.40s|2.30s|6.69s|4.80s|
|QOJ(新评测机,C++20 GCC14.2)|839ms|1.09s|1.44s|463ms|694ms|1.59s|2.42s|2.64s|3.93s|2.34s|2.22s|3.96s|3.99s|
|LOJ(C++20 GCC12)|572ms|1.06s|1.18s|567ms|669ms|1.12s|3.47s|3.87s|6.01s|2.05s|1.85s|3.71s|6.04s|
|CF(C++23 GCC14)|2.39s|1.20s|4.11s|-|1.25s|1.98s|4.51s|5.40s|6.23s|6.31s|2.98s|21.7s|-|
|UOJ(C++20 GCC10.3.0)|2.50s|1.24s|1.81s|787ms|1.19s|1.85s|3.54s|3.89s|5.76s|2.72s|3.55s|7.55s|5.54s|
- 测试时,除了洛谷外,其余的 OJ 评测量不大。洛谷存在明显的评测速度波动,可达 10%。
- CF 一栏中,标记为 -,意味着内存超过 2G 或者爆栈,无法使用 custom test 测试。
- 以下为各个 OJ 使用的评测机:
- 洛谷:Intel(R) Xeon(R) Platinum 8369HC @ 3.30GHz(睿频 3.80GHz)
- QOJ(老):Intel(R) Xeon(R) Platinum 8370C @ 2.80GHz(睿频 3.50GHz)
- QOJ(新):Intel(R) Xeon(R) Platinum 8570 @ 2.10GHz(睿频 4.0GHz)
- LOJ:AMD Ryzen 7 5800X 8-Core Processor @ 3.80GHz(睿频 4.70GHz)
- UOJ:Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz(睿频 3.20GHz)
- CF:Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz
题目描述
### Subtask 0 Xor-shift 与模运算
考察 CPU 进行 Xor-shift 生成 $[0,n)$ 范围内的随机整数下的性能。Xor-shift 的代码可能会在之后的部分 Subtask 中运用。当然,若 Xor-shift 的执行次数的数量级小于后续运算,则 Xor-shift 的耗时是可以忽略的(例如:使用了 $\Theta(N^2)$ 次 Xor-shift,而算法是 $\Theta(N^3)$ 的情况下,几乎无需考量 Xor-shift 的执行消耗)。参考代码:
```cpp
uint64_t next() {
s ^= (s > 7);
s ^= (s
输入格式
第一行输入 subtaskid;
对于每个 subtask,根据每个 subtask 的要求进行输入。
输出格式
输出答案。