贪心、分治与回溯
4000 组随机币制实测贪心找零有 16.3% 的金额算错;N 皇后位运算版快 10.7 倍且解数与已知值完全一致;区间调度换成"按开始时间"就从 3 变 1。
4000 组随机币制实测贪心找零有 16.3% 的金额算错;N 皇后位运算版快 10.7 倍且解数与已知值完全一致;区间调度换成"按开始时间"就从 3 变 1。
200 万次查找实测 unordered_map 110.6ms、sorted vector 542.7ms、map 2512.3ms;键步长为 4 时低位散列只用 25% 的桶;空桶率 21.6% 才是正常状态。
手写堆的两个比较方向都写反了、30 万次随机操作对拍才抓出来;双堆求流式中位数比每次重算快 3862 倍;k 路归并理论更优却比"拼接再排序"慢 43%。
500 万元素实测:基数排序 58.9ms 完胜 std::sort 的 329ms,三路快排在全部相等时只要 4.2ms;稳定性测试本身也容易做错——把下标当第二键会让快排"看起来稳定"。
循环队列为什么必须少用一个槽位(附错公式的实测后果)、单调队列把滑动窗口从 53.8ms 压到 2.74ms、最小栈与双栈表达式求值,以及用随机数据交叉验证单调栈的正确性。
KMP 的 next 数组怎么推、2000 组随机用例对拍验证、AC 自动机比逐个 KMP 快 43 倍(30699 次命中完全一致),以及 strlen 放进循环条件在 -O0 和 -O2 下差 1900 倍与 9 倍。
同样 1 万个数,有序输入让 BST 高度变成 10000、随机输入只有 34;make_heap 只比逐个 push 快 1.2 倍;取最大 10 个元素 partial_sort 比全排序快 100 倍。
实测把 12 种坏 frontmatter 喂给本仓库现有的门禁,机器抓住 8 种、放过 4 种,其中"date 带时间"会让发布日静默退一天;而 12 种注入 + 57 篇文章全量校验只花 0.58 秒(3 次中位)——评审预算该花在哪,数字很清楚。