Appearance
题目
设外存上有 120 个初始归并段,进行 12 路归并时,为实现最佳归并,需要补充的虚段个数是()。
错因
A
公式记错:把 错记成 ,得 ,再错算 。差了"被减数那个 −1"——其实正确判定条件是 ,所以补的 s 应满足 。
C
把"凑到 k 的整倍数"误当成判定标准。,又凭直觉觉得需要补点东西凑成"满 k 叉树",于是估了 3。但虚段公式分母是 不是 k,这是和"凑到下一层"完全不同的判定。
D
可能套用了 类的错误公式: 太大,再除以 3 之类的硬凑得 4。本质是没掌握 k 路归并树叶子数的合法判定条件 。
总解析
关键性质:k 路最佳归并要求归并树是一棵严格 k 叉树——除最后一层叶子外,每个内部节点恰有 k 个孩子。设实际段数 m、虚段数 s,总叶子数 m+s 必须满足:
理由:每次 k 路归并把 k 个段合并成 1 个新段——"消去" 个段。从 m+s 个叶子归并到最终 1 个根,共要消去 个段,这必须能被 整除,否则最后一次归并凑不齐 k 路。
代入 m=120、k=12、k−1=11:
所以 。求最小非负 使 :
最小 。
验证:, 是整数,归并次数为 11 次(每次消去 11 个段,从 122 个叶子归并到 1 个根)✓。
最终答案是 B。