提交记录 117333
| 提交时间 |
评测时间 |
| 2026-09-30 23:11:33 |
2026-09-30 23:11:36 |
// ===== REFERENCES =====
// [1] https://duck.ac/submission/117220 —— duck.ac 本账号 saffah_cc_v41_agg1(= 现 mine,243.938963 ms)
// 用途:本探针要分解的就是这个数——把「调用里有多少不是矩阵乘法」单独量出来。
// [2] https://duck.ac/submission/117331 —— 本席同批同码锚(正文 .text 与 #117220 逐字节同,244.014517 ms)
// [2b] https://duck.ac/faq.html 原文:「内核态时间为零,且用户态时间等于真实时间,就是我们测定的时间」
// 「交互库会占用微量的时间…这部分时间会计入你的时间」「生成数据、判定结果正确性等不会计入」
// [3] 本席同批锚 #117331 = 244.014517 ms(与 #117220 正文逐字节同的 .text,用于量当批漂移 +75.6 µs)
// ===== 思路 =====
// 【mi2ak_ 席 · 探针 ECT(**故意 WA**,只为一个读数)】
// 单变量 = **把 matrix_multiply 的"计算"整个摘掉,只保留与真件相同的 16 MB 写足迹**:
// for (i < n*n) C[i] = 0; // n=2048 ⇒ 4096 页、与 comb 的 C 写同足迹
// 目的:把 `Time` 分解成 「harness 在计时区内的固定开销 H」 + 「矩阵乘法本身」。
// judge_Time(ECT) ≈ 启动 + harness 建数据 + 写 C(16 MB) + harness 校验 = **H**
// judge_Time(#117220) − H ⇒ 真实环境下**矩阵乘法本身**的耗时
// 与 in-situ 暖机读数(867.8~869.4M tick = 241.1~241.5 ms)一比,就判定:
// 若 ≈241 ms ⇒ 差额全在 harness 侧(= 全队共同成本,无比例效应)
// 若 ≈243+ ms ⇒ 真实冷环境里"计算"本身慢 ~2 ms ⇒ 冷状态才是可攻面
// 预期 verdict = Wrong Answer(C 全 0)。这是**测量件**,不是候选臂;不参与任何达标声称。
// 闸门:判题同款编译 rc=0;正文单函数、无外部依赖。
#include <cstddef>
#include <cstdint>
#include <immintrin.h>
__attribute__((target("avx2")))
void matrix_multiply(int n, const int *A, const int *B, int *C) {
(void)A; (void)B;
const size_t m = (size_t)n * (size_t)n;
const __m256i z = _mm256_setzero_si256(); /* 与 comb 的 C 写同形态:32 B 向量存 */
size_t i = 0;
for (; i + 8 <= m; i += 8) _mm256_storeu_si256((__m256i *)(C + i), z);
for (; i < m; i++) C[i] = 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 1.794 ms | 16 MB + 8 KB | Wrong Answer | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-11-05 13:10:33 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠