题解:P17227 [Math×Girl²] まよいづき

· · 题解

声明: 写作过程中多次使用 AI 检验并修改病句、斟酌用词与行文, 论证的展开亦有 AI 参与; 思路均出自魔女の理团队的各出题人、验题人及我的个人理解.

约定. 根据个人习惯, 所有数组下标从 0 开始. 这可能影响你对奇数位置等术语的理解.

总结. 把每轮分组表示为完全二叉树. 目标戒指到根的路径外有 n 棵兄弟子树, 每棵都须含一枚较轻戒指, 故编号至多为 2^n-n. 编号取满后, 各子树的重量满足一个递推下界; 把互异正整数分配到这些子树即可得到 m_1 的下界, 构造逐层取等.

题目描述.2^n 枚戒指, 第 i 枚的重量为正整数 m_i, 满足

每轮把当前候选戒指等分为两组, 比较两组重量和, 只保留重量和较大的一组; 保证任一轮两组重量和不相等. 重复 $n$ 轮后恰剩一枚戒指. 可以自行指定全部重量与每轮分组. 求最终保留戒指的最大编号, 并构造达到该编号的重量与分组方案; 在编号最优的构造中, $m_1

越小得分越高.

本节证明如下结论: 最终编号最大为 2^n-n; 且在这个前提下, m_1 的最小值为

\begin{cases} 2,&n=1,\\ 5,&n=2,\\ 15,&n=3,\\ 48,&n=4,\\ \dfrac{9\cdot4^{n-2}+13\cdot2^{n-2}}4+1-n,&n\ge5. \end{cases}

把筛选过程表示为一棵高度为 n 的完全二叉树 \mathcal T: 叶集 \Lambda 恰为 2^n 枚戒指, 每个内部结点代表一次对决, 两个儿子中叶权和较大的一侧继续向上. 可以任意分组, 故任一策略都对应这样的树, 反之亦然. 对任一子树 u, 记其叶集为

设最终留下的戒指为 $t$, 根到 $t$ 的路径为 $p_0p_1\cdots p_n$ ($p_0

为根, p_n=t). 对 1\le k\le n, 令 B_kp_{k-1} 的另一个儿子所对应的子树. 则这些 B_kt 一起分划叶集:

|\Lambda(B_k)|=2^{n-k},\qquad \Lambda=\{t\}\sqcup\bigsqcup_{k=1}^{n}\Lambda(B_k).

k 轮的对决恰发生在结点 p_{k-1}: 比较 B_kp_k 的叶权和. 记

$$w(B_k)<\phi_k\qquad(k=1,\ldots,n).$$ 其中 $\phi_n=w(t)$, 且 $\phi_{k-1}=\phi_k+w(B_k)$. **定理 D.1 (编号上界).** 最终留下的戒指编号至多为 $2^n-n$. **证明.** 比较规则在整体平移下不变, 故可设 $w(t)=0$. 由 $w(B_k)<\phi_k$ 与 $\phi_{k-1}=\phi_k+w(B_k)$, 有 $\phi_{k-1}<2\phi_k$. 从 $\phi_n=0

反向归纳得 \phi_k<0 (k<n). 因而每个 B_k 的叶权和为负, 至少含一枚比

$p\le N-n$. $\blacksquare

固定 t=N-n. 编号上界取满时, 恰有 n 枚戒指比 t 轻, 因此每个 B_k 恰含一枚这类戒指, 其余 2^{n-k}-1 枚都比 t 重. 于是 t 之前的

P=N-n-1$ 枚戒指恰为全部较重戒指. 仍设 $w(t)=0$. 设 $B_k

中较重戒指的相对重量之和为 h_k, 唯一较轻戒指的相对重量为 -d_k (d_k>0), 则 w(B_k)=h_k-d_k; 记 D=\max_k d_k.

引理 D.2 (递推下界).q_k=-\phi_k. 则 q_{k-1}\ge2q_k+1; 因而

**证明.** 由 $w(B_k)<\phi_k=-q_k$ 且权重均为整数, $d_k\ge h_k+q_k+1$. 又 $q_{k-1}=q_k+d_k-h_k\ge2q_k+1$. 由 $q_n=0$ 归纳得 $q_k\ge2^{n-k}-1$, 代回即得结论. $\blacksquare

注意 2^{n-k}=|\Lambda(B_k)| 正是子树 B_k 的叶数. 第 N 枚戒指的重量为 m_N=m_t-D\ge1, 故 m_t\ge D+1; 这 P 枚较重戒指的相对重量是 P 个互不相同的正整数, 最大者至少为 P, 即

$$m_1\ge P+D+1.$$ 于是问题归结为 $D$ 的下界: 每个 $h_k$ 不得超过 $D-2^{n-k}$, 而所有子树要装下 $P$ 个互不相同的正整数. **定理 D.3 (下界).** $m_1\ge\Phi(n)$. **证明.** 由 $m_1\ge P+D+1$ 只须证明 $D$ 的下界. 若 $n\le4$, $B_1$ 含 $2^{n-1}-1

枚较重戒指, 其相对重量互不相同, 故 h_1\ge1+\cdots+(2^{n-1}-1); 由递推下界 D\ge d_1\ge h_1+2^{n-1}, 代入该不等式得 m_1\ge2,5,15,48, 恰为 \Phi(1),\ldots,\Phi(4).

n\ge5, 令 m=2^{n-2}, 则 N=4m, P=4m-n-1. 两棵子树 B_1,B_2 共含 3m-2 枚较重戒指, 故 h_1+h_2\ge1+\cdots+(3m-2); 而由递推下界

h_1\le D-2m$, $h_2\le D-m$, 解得 $D\ge(9m^2-3m)/4+1=:R$ ($n\ge5

时该数为整数). 于是 m_1\ge P+R+1=\Phi(n).

\blacksquare

引理 D.4 (装箱).n\ge5, m=2^{n-2}, R=(9m-3)m/4+1, P=4m-n-1. 相对重量

恰含 $2^{n-k}-1$ 个数, 其和为 $h_k$, 满足 $h_1=R-2m$, $h_2=R-m-1$, 且 $d_k=h_k+2^{n-k}$ 满足 $$R=d_1>d_2=R-1>d_3>\cdots>d_n=1.$$ **证明.** 取 $3\le k\le n-1$ 时, 令 $L_k$ 为连续区间 $[4m+2-k-2^{n-k+1},\ 4m-k-2^{n-k}]$. 这些区间长度恰为 $2^{n-k}-1$, 首尾相接, 恰好铺满 $\{3m-1,\ldots,P\}$. 令 $L_2=\{7m/4+1,\ldots,9m/4-1\}\cup\{9m/4+1,\ldots,11m/4\}$, $L_1=\{1,\ldots,3m-2\}\setminus L_2$, $L_n=\varnothing$. 求和即得 $h_1=R-2m$, $h_2=R-m-1$, 故 $d_1=R$, $d_2=R-1$, $d_n=1$. 对 $3\le k\le n-1$, 记 $b=2^{n-k-1}$, $A_k=\min L_k$; 因 $L_{k+1}

紧接在 L_k 之后且 A_k\ge3m-1, 有

d_k-d_{k+1}=b(A_k+1)-\frac{(b-1)(b-2)}2>3mb-\frac{bm}8>0,

d 严格递减; 又 R-2-d_3=\dfrac{5m^2}8+3m-3>0, 即

$\blacksquare

定理 D.5 (构造).n\ge5, 取装箱引理中的分配. 设目标戒指 t=N-n, 其重量为 R+1;

P$ 枚较重戒指的重量依次为 $R+2,\ldots,R+P+1$; $B_k

中唯一较轻戒指的重量为 R+1-d_k, 并按 B_n,B_{n-1},\ldots,B_1 的顺序放入. 取对应的完全二叉树. 则第 t 枚戒指最终留下, 且 m_1=R+4m-n 恰为下界.

证明.w(B_k)=h_k-d_k=-2^{n-k}=-|\Lambda(B_k)|. 整体减去 R+1 后目标戒指的相对重量为 0, 且

\phi_k=-\sum_{j=k+1}^{n}2^{n-j}=-(2^{n-k}-1),

w(B_k)<\phi_k, 每轮比较的差恰为 1, 全部对决严格成立.

再看重量本身: 较重戒指的重量为 R+2,\ldots,R+P+1, 目标为 R+1, 其余

故全部重量都是互不相同的正整数; 又 $d_1>d_2>\cdots>d_n$, 这些较轻戒指的重量依次递增, 于是整个序列 $m_1>m_2>\cdots>m_{2^n}$ 成立. 特别地 $$m_1=R+1+P=R+4m-n,$$ 恰等于下界. $\blacksquare

n\le4, 下列构造中每一轮两组重量和相差 1 (每对 (h_k,d_k) 依次对应 B_1,\ldots,B_n, 目标分别为第 1,2,5,12 枚戒指):

n & \text{重量 }m_1,\ldots,m_{2^n}\ \text{与各 }(h_k,d_k)\\\hline 1 & 2,\ 1;\quad (0,1)\\ 2 & 5,\ 4,\ 3,\ 1;\quad (1,3),\ (0,1)\\ 3 & 15,\ 14,\ 13,\ 12,\ 11,\ 10,\ 5,\ 1;\quad (6,10),\ (4,6),\ (0,1)\\ 4 & 48,\ \ldots,\ 37,\ 36,\ 24,\ 6,\ 1;\quad (28,36),\ (27,31),\ (11,13),\ (0,1) \end{array}

其中 n=4 的省略号表示 47,46,\ldots,38. 逐一检查即见

综上, 最终编号最大为 $2^n-n$; 在此前提下 $m_1$ 最小为 $\Phi(n)$. 输出时, 先按 $m_1,m_2,\ldots,m_{2^n}$ 输出重量, 再输出每枚戒指的标签: $B_k

中的戒指标签为 k, 目标戒指标签为 0; 第 k 轮把标签为 k 的戒指放入一组, 其余候选者放入另一组即可. 总输出规模为 \mathrm O(2^n).