D:\c++\LiangXi_LuoGu 的实际代码逐题打了勾(有代码 = ✅),并把每题的已知瑕疵写在题卡里。ios::sync_with_stdio(false); cin.tie(nullptr); 两行,建议补上)(0411 课件)ent[v] = ent[u] + 1 ≥ n」。对拍结论:样例 NO/YES 正确,200 组随机(含自环、重边、零权环、正权环)与 Bellman-Ford oracle 零不一致,2000 点负权长链不误报;满规模 239 ms(补上快读后 201 ms)。小瑕疵:P3385.cpp:25 一条 -Wsign-compare,且缺两行快读(0412 课件)orz)。审阅结论:样例 7 ✓、不连通 orz ✓、n=1 输出 0 ✓、重边自环 ✓;400 组随机小图与参考解 0 不一致;满规模 n=5000 m=2×105 121.8 ms(用 sort 是 94.1 ms,都在时限内)。小瑕疵:P3366.cpp:45 一条 -Wsign-compare,auto 返回值 + 递归在别的编译器上可能报错(0413 课件)-1。已交手写 lower_bound(递归版),n ≥ 2 的 300 组随机数据全对、满规模 349 ms 也对;但 n = 1 且查不到时死递归(三个 if 都假设 r - l ≥ 1,l == r 没有出口)→ 改成 while (l < r) 循环版即可(0414 课件)check 里的 int x 会溢出(n=30, m=1, 全 99999999 → 输出 2199999978,应为 2999999970)→ 把 x 改成 long long(0414 课件)check 末尾处理「最后一跳不够」时用的是 cnt++(正确写法)(0414 课件)first[0] = 0 没忘。审阅:200 组随机与暴力 0 不一致,样例 5 ✓,满规模 97.7 ms。可改进:变量名 op/op1/op2 建议改成 a/pre/first,endl 换 '\n',三个 include 与 bits/stdc++.h 重复(0415 课件)d[x] += z; d[y+1] -= z;,最后一遍前缀和取最小值。审阅:200 组随机与暴力 0 不一致。实测满规模 n = p = 5×106(2000 万个整数)共 2.4 s,其中 sort 只占约 350 ms,大头是 cin 读入(约 1.3 s);改成 fread 快读 + O(n) 求 min 后降到 0.7 s。若 TLE,先换快读,不用急着删 sort(0415 课件)while (!st.empty() && a[st.top()] <= a[i]) st.pop();。审阅:200 组随机与暴力 0 不一致,样例 3 3 4 0 0 ✓,满规模 n = 3×106 → 583 ms。输出用 cout 实测比改成 string 缓冲 + fwrite(748 ms)还快,不用改(0415 课件)(i, j) 编码成 long long 当键:i * BASE + j(BASE 必须大于 j 的最大值)。k = 0 是清空,要用 erase。已 AC:300 组随机与二维数组对拍 0 不一致,满规模 319 ms;缺两行快读,加上后 64 ms(0416 课件)a_i − a_j = C 的对数。已 AC,用的正是「先建全表,再对每个 x 查 x + C」的两遍写法(没有踩「扫一遍查 x−C」那个漏逆序对的坑),ans 用了 long long。300 组对拍 0 不一致;满规模 266 ms → 加快读 60 ms。小隐患:i + m 是两个 int 相加,本题刚好不溢出,写成 1LL * i + m 更稳(0416 课件)unordered_map + reserve(n*2),300 组对拍 0 不一致;满规模 344 ms → 加快读 101 ms → 再换 '\n' 70 ms。实测发现瓶颈全在读入,endl 换成 '\n' 单改几乎无变化(0416 课件)j = pi[j-1](不是 pi[j]);② 匹配成功后立刻 j = pi[j-1],否则漏重叠匹配(AAAAA 找 AA 只报 1 处);③ 位置 i - m + 2。实测最坏数据 KMP 1.6 ms vs 暴力 247 ms(0417 课件)已完成(2026-10-17 按 D:\c++\LiangXi_LuoGu 全量核对,后续逐课补):0406 堆(P3378 / P1090 / P1168)· 0407 排序(P1177 / P1908 / P1923)· 0408 图遍历(P5318 / P1605 / P1443)· 0409 拓扑(P1113 / P1347 / P1807 / P4017)· 0410 并查集(P3367 / P1551 / P3958)· 0411 最短路(P4779 / P3371)· 0412 负环(P3385)· 0413 最小生成树(P3366)· 0414 二分(P2678)· 0415 前缀和 / 差分 / 单调栈(P3131 / P2367 / P5788)· 0416 哈希表(P3613 / P1102 / P1918)· 以及更早的链表、高精度、排序、模拟(P1009 / P1042 / P1059 / P1068 / P1093 / P1157 / P1160 / P1303 / P1305 / P1591 / P1706 / P1739 / P1781 / P1996 / P2676 / P5734 / P5740)
待修后重交:P2249(n = 1 时死递归)· P1182(check 里 int x 溢出)
未做:P4779 用 SPFA 再交一次(选做)· P1629 / P4913 / P1030 / P1827 / P2234 / P1045(选做,本地无代码)
仍可改进的小瑕疵:P1551 按大小合并比的是根下标 · P3958 三项平方和理论上可溢出 · P4779 缺两行快读 · P3371 一条 -Wsign-compare 警告 · P5076 重复值判据 · P3366 一条 -Wsign-compare · 0411–0416 的六份代码都缺 ios::sync_with_stdio(false); cin.tie(nullptr);(实测加两行后满规模快 4-5 倍)
ACM 线:第 1 场(10/18 广工月赛)8 / 14 题、第 66 名;第 2 场(杭师大联考)10 / 10 满分 —— 记录见 ACM 校队选拔训练计划 §9