清欢 · 2026-10-26 第二轮 · 我的练习记录

填写方法：每次只改一个条件，先写预测，再运行。不要把一次小实验当成所有版本、所有输入的保证。
方括号留给自己勾选；复制这份模板可记录多次尝试。

============================================================
三个模型都没换，只把平均放到另一处，为什么答案反了？
文章：https://qinghuan.me/discover/ai-ensemble-probability-versus-logit-pooling/

固定前两个输入，能否手算第三个输入让logit融合恰好打平的位置？

1. 把前两个概率设成0.7，写出它们的胜算。
2. 令三个胜算的乘积等于1，解出第三个概率。
3. 先预测概率平均的方向，再用完整程序核对两条路径。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 先写清类别1和类别0的对应关系。
[ ] 说明是否用了等权与相同温度。
[ ] 只比较规则输出，不凭空添加准确率结论。

参考原文时查到的章节或段落：


============================================================
标签还是那两个类别，换成one-hot后平均损失为什么翻倍？
文章：https://qinghuan.me/discover/ai-cross-entropy-target-representation-weighted-mean/

什么权重会让这两个mean相同？仅看两种最终标量足够排查吗？

1. 保持目标为0和1，试一组正权重，使命中权重和恰好等于样本数。
2. 把两个目标都改为类别1，重新计算命中权重和。
3. 分别打印未聚合项、总和、两种分母，说明哪一步发生变化。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 权重按类别索引取，不是按样本位置随意取。
[ ] 全程保留label_smoothing=0与无忽略标签的条件。
[ ] 实验说明是公式复现，还是实际调用指定版本的框架。

参考原文时查到的章节或段落：


============================================================
检索给了同分，为什么调换两行就把NDCG从1变成了三分之一？
文章：https://qinghuan.me/discover/ai-ndcg-tied-scores-expected-ranking/

三个候选全部同分时，NDCG@1应如何计算？

1. 保持相关度3、1、0，把三条模型分数设成相同。
2. 先枚举六种顺序，分别计算DCG@1，再求平均。
3. 改成k=2，用组内平均gain乘折扣和独立核对。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] IDCG使用同一候选集合和同一k。
[ ] 所有允许排列等权，不依据真实相关度偏向某个排列。
[ ] 若改变gain定义或同分策略，重新计算，不沿用旧数字。

参考原文时查到的章节或段落：


============================================================
merge 回调返回 null，为什么整条记录消失了？
文章：https://qinghuan.me/discover/backend-map-merge-null-removal/

一张商品计数表需要“新增、累加、保留、删除”四种动作，你怎样让每一种动作的意图都能被测试？

1. 给程序加入回调返回 0 的场景，先预测键是否仍然存在。
2. 新增一个尚不存在的键，给它同样的“返回 null”回调，记录回调是否真的执行。
3. 写出你希望“跳过更新”时采用的返回值，同时检查 containsKey 与最终值。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 每个场景新建 Map，不让前一轮的删除影响后一轮。
[ ] 同时核对回调次数、异常、返回值和键状态。
[ ] 把新加入的输入实际运行后再记录，不能把预测当成实测。

参考原文时查到的章节或段落：


============================================================
文件名里的 + 号，为什么解码后变成了空格？
文章：https://qinghuan.me/discover/backend-form-encoding-uri-path/

一段文件名经过前端、代理和后端后发生变化，你会怎样定位第一次解释错误的位置？

1. 将文件名换成同时含中文、空格、加号的字符串，显式保留 UTF-8；先手算新输入的预期表单编码，并更新 formEncoded.equals(...) 中的固定字符串，保留往返相等的断言。
2. 逐步打印原始文本、编码结果、getRawPath、getPath 与表单解码结果。
3. 另建一个含字面百分号的输入，先预测把已编码值重复送入编码器会怎样，再运行核对。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 每一列写清楚它是原始文本、URI 组件还是表单值。
[ ] 为真正需要互逆的一对操作检查往返相等，不要求不同协议的解码器相等。
[ ] 对 HTTP 框架的行为单独运行验证，不把本页纯 Java 字符串结果当成服务器实测。

参考原文时查到的章节或段落：


============================================================
取了绝对值，分桶下标为什么还会是负数？
文章：https://qinghuan.me/discover/backend-abs-min-value-floor-mod/

现有系统使用 Math.abs(hash) % buckets，准备修复时需要记录哪些兼容性信息？

1. 补充 Integer.MAX_VALUE、Integer.MIN_VALUE + 1 和桶数 1，先预测再运行。
2. 将旧规则与候选规则的结果逐项对照，单独记录旧规则越界和两种合法结果不一致。
3. 写明桶数为 0 或负数的处理方式，并说明已有数据的定位是否依赖原映射。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 每个有效下标都满足 0 <= index && index < buckets。
[ ] 不把“有界”与“相同”混为一个断言。
[ ] 把本地算术验证与数据库分片迁移验证分开，未执行的系统行为不作保证。

参考原文时查到的章节或段落：


============================================================
KMP匹配失败时，为什么不是把已匹配长度直接清零？
文章：https://qinghuan.me/discover/computer-kmp-fallback-overlapping-matches/

文本ababababca、模式ababca发生失配时，如何保留候选并证明没有跳过当前字符？

1. 独立列出模式每段的最长真前后缀。
2. 记录每个文本字符对应的j与回退链。
3. 用逐起点切片的参考方法核对全部命中。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 回退不会提前推进文本指针。
[ ] 完整匹配后保留所需后缀。
[ ] 先预测再运行，练习不预填命中列表。

参考原文时查到的章节或段落：


============================================================
边的费用只有0和1，为什么第一次到达一个点还不能定案？
文章：https://qinghuan.me/discover/computer-zero-one-bfs-first-discovery/

0→1(1)、0→2(0)、2→3(0)、3→1(0)中，哪次更新会让已有队列记录过期？

1. 按输入顺序写出起点处理后的队列。
2. 每次记录当前费用、更新目标和加入哪一端。
3. 用所有简单路径的费用作独立参考。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 首次发现费用与最终费用分开记录。
[ ] 相等候选不重复加入队列。
[ ] 练习不预填最终距离或过期项。

参考原文时查到的章节或段落：


============================================================
找到第3小的数，为什么左边两个数仍然没有排好？
文章：https://qinghuan.me/discover/computer-quickselect-partition-not-sort/

数组5、2、4、2、1、3求第5小时，每轮枢轴位置如何决定下一侧？

1. 先转换成从0开始的目标rank。
2. 逐轮记录区间、枢轴和最终位置。
3. 分别核对名次、分区关系与元素多重集合。

我改动的条件：
保持不变的条件：
运行前的预测与理由：
实际使用的版本与命令：
实际输出：
与预测不同的地方：
这次结果能说明什么：
这次还没有验证什么：

完成自查：
[ ] 重复值没有被去重。
[ ] 每轮只保留目标所在的一侧。
[ ] 完整有序被单独检查，不被当作必须条件。

参考原文时查到的章节或段落：

