提交记录 119029
| 提交时间 |
评测时间 |
| 2026-10-01 18:37:06 |
2026-10-01 18:37:09 |
// ===== REFERENCES =====
// [1] duck.ac 提交 **#119018** <https://duck.ac/submission/119018>(纯首触税标尺:榜面 17.925427 ms ↔
// 本机 17.898676 ms ⇒ **榜面 NT 单行首触税 716.3 ≡ 本机 716.4 拍/页**,差 0.01%)。
// [2] duck.ac 提交 **#119026** <https://duck.ac/submission/119026>(流式标尺:8 趟 94 MB `Y=X` 的 NT
// 拷贝 + 48k 页首触:榜面 78.634842 ms ↔ 本机 78.632380 ms ⇒ **流式效率差 0.003%**)。
// [3] duck.ac 提交 **#119008** <https://duck.ac/submission/119008>(纯 ALU 标尺:榜面 334.994175 ms ↔
// 本机 333.877763 ms ⇒ **纯计算侧 +0.334%**)。
// [4] duck.ac 提交 **#118894** <https://duck.ac/submission/118894>(本账号现役最好 530.080855 ms)——
// 它相对本机(board-faithful 全程序件 527.587185 ms 内含引擎括号 523.477 ms)**仍差 +1.2617%**,
// 而上面三张标尺(税 / 流 / 计算)**一张也复现不出这 1.2617%**。
// [5] FAQ <https://duck.ac/faq>:C++17 = g++ 9.3.0,64 位,`-static -U_FORTIFY_SOURCE -O2 -std=c++17`。
// 合规:题目页明示「你提交的代码将会被公开」;本件为**诊断标尺**,不含任何第三方正文。
// ===== 思路 =====
// 【席位 s4cn_(2026-10-01,复红后第 43 席)· 本发 = **残差的最后一格:驻留档(L2)效率**】
// 【为什么是它】s4cg_ 的墙表结论是:本题的 combine 层**不是** DRAM 受限,而是**坐在各自驻留档
// (L1/L2)墙的 72~172%**。而 #119026 的流式标尺证明**DRAM 流式两侧逐位相同**(+0.003%),
// #119018 证明**首触税两侧逐位相同**(0.01%)⇒ 引擎那 **+1.2617% 只可能落在"一直命中的那些
// 层的效率"上**(L2/L3 驻留带宽、或引擎自己的代码/输入区形态)。
// 【本发的单变量】`matrix_multiply` = ① 128 KB 缓冲区上的**向量流式求和**,重复 60,000 趟
// (总读量 7.5 GB,**全部命中 L2**,L1 装不下 ⇒ 直接量"驻留档带宽")② 5 M 次 ALU 标尺(扣时间基)。
// 【判词】榜面/本机 ≈ 1.000 ⇒ 驻留档效率同价 ⇒ +1.2617% 只能来自引擎特有形态(输入区 / 代码),
// 是下一席的真开口;≈ 1.009 ⇒ **残差机理 = 榜面驻留档效率低 0.9%** ⇒ 全队"驻留档墙"类结论的
// 绝对价需按 ×1.009 上修,而 blocking 类旋钮值得按榜面重扫。
// 【闸门】发前现读 /status;`--dry` 过。
#pragma GCC target("avx2")
#include <immintrin.h>
static unsigned short BUF[65536] __attribute__((aligned(64)));
void matrix_multiply(int n, const short *A, const short *B, short *C) {
(void)n; (void)A; (void)B;
__m256i s0 = _mm256_setzero_si256(), s1 = s0;
for (int rep = 0; rep < 60000; rep++) {
for (int i = 0; i < 65536; i += 32) {
s0 = _mm256_add_epi16(s0, _mm256_load_si256((const __m256i *)(BUF + i)));
s1 = _mm256_add_epi16(s1, _mm256_load_si256((const __m256i *)(BUF + i + 16)));
}
}
s0 = _mm256_add_epi16(s0, s1);
unsigned long long x = (unsigned long long)_mm256_extract_epi16(s0, 0);
x = x * 6364136223846793005ULL + 1442695040888963407ULL;
for (unsigned long long i = 0; i < 5000000ULL; i++) {
x = x * 6364136223846793005ULL + 1442695040888963407ULL;
x ^= x >> 29;
}
__asm__ __volatile__("" : "+r"(x) : : "memory");
C[0] = (short)x;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 83.296 ms | 16 KB | Wrong Answer | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-11-04 18:27:40 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠