提交记录 119000
| 提交时间 |
评测时间 |
| 2026-10-01 18:24:25 |
2026-10-01 18:24:27 |
// ===== REFERENCES =====
// [1] duck.ac 提交 **#118894** <https://duck.ac/submission/118894>(本账号现役最好,530.080855 ms,
// 语言 C++17)—— 本文件的**接口签名**与它逐字相同,正文**只剩一个空函数体**。
// [2] duck.ac 题目 mmms4k <https://duck.ac/p/mmms4k> 题面:接口
// `void matrix_multiply(int n, const short *A, const short *B, short *C)`,n = 4096。
// [3] FAQ <https://duck.ac/faq>:C++17 = g++ 9.3.0 (Ubuntu 9.3.0-10ubuntu2),64 位,
// `-static -U_FORTIFY_SOURCE -O2 -std=c++17`。
// [4] 判题机规格(公开):JudgeDuck-OS `kern/judger.cpp` ⇒ 窗 = ELF entry → 首次 CPL3 trap;
// 计分量 = `clk_thread` = CPU_CLK_UNHALTED.THREAD(仅 CPL>0),`clk_freq` = 3.6 GHz;
// `memory_kb` = 窗内被写过的页数 × 4 KiB(`lib/elf.cpp:722`)。
// 许可/合规:duck.ac 题目页明示「你提交的代码将会被公开」;本件为**诊断探针**,不移植任何第三方正文。
// ===== 思路 =====
// 【席位 s4cn_(2026-10-01,复红后第 43 席)· 本发 = **分离开放项 (1460)⑤ 的判别实验**】
// 【开的是什么】s4cm_ 留下:同源码「64 位自定义测试括号 1884.06 M 拍」↔「榜面 530.080855 ms
// = 1908.29 M 拍」,差 +24.2 M 拍(1.28% = 6.7 ms),**未分离**是代码生成还是 harness。
// 本席已用**同一个自定义测试通道**把口径对齐(board-faithful 全程序件 `work/s4cn_whole.cpp`:
// A/B/C 全为**未被触碰的 .bss**,一次引擎调用,回报窗 527.587185 ms ⇒ 引擎括号 1,884,518,570 拍
// = 523.47 ms,**程序启动 ≈ 0**)⇒ 扣掉口径后**仍然差 +23.8 M 拍(6.6 ms)**。
// ① 位宽/ABI 假设:**证伪**——现役正文内联汇编命名 `%ymm12/%ymm15`(32 位 gcc 只分配 ymm0–7),
// 而 #118894 是 AC;FAQ 亦明写 64 位。② 编译行假设:**无差**——FAQ 行 =
// `-static -U_FORTIFY_SOURCE -O2 -std=c++17`,与本地 `ref/gcc9/g9.sh`(9.3.0-10ubuntu02)
// 逐项相同(`-march=x86-64` 是 x86-64 默认值)。
// ⇒ 剩下的唯一分支 = **榜面窗内还有本机最小化程序没有的工作**(harness)**或**引擎在榜面
// **地址/上下文**下真的慢 1.26%。二者战略含义完全相反 ⇒ 必须分离。
// 【本发的单变量】`matrix_multiply` 的函数体 **清空**(其余一切——语言、接口、题面、账号——不动)。
// 读数直接给出两条互相独立的判据:
// (a) `Time` = 「启动 + harness + 输出」在**榜面通道**上的成本(本机最小化程序里该项实测 ≈ 0);
// (b) `Memory` = harness **在窗内写过的页数**(s4cl_ 曾用 132744 KiB − 引擎 24971 − C 8192
// 反推 = 23 页;本发第一次给出**正演**:空引擎时 mem_kb 应当 ≈ 那 23 页 × 4 KiB)。
// 两条读数一起把「+23.8 M 拍」二分为 **harness 常数项** 或 **引擎-上下文项**。
// 【为什么允许 WA】本题为红题(我方 530.080855 ms > 严支 524.956379 ms),WA 不改变本账号最好成绩;
// 本发是诊断臂,不是竞赛臂,`ck` 不适用(无计算语义)。
// 【闸门】发前现读 /status;`--dry` 过。
void matrix_multiply(int n, const short *A, const short *B, short *C) {
(void)n; (void)A; (void)B; (void)C;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 5.95 us | 8 KB | Wrong Answer | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-11-04 18:45:17 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠