阶梯博弈

博弈论与组合计数知识清单(含数位DP扩展)

本源码使用 $...$ 行内公式和 $$...$$ 块级公式,无 \(\)\[\] 转义,可在 Typora、GitHub、Obsidian 等支持 LaTeX 的 Markdown 编辑器中正常渲染。


1. 阶梯博弈归约证明

定理:阶梯博弈胜负由奇数级台阶石子数的异或和决定。

证明
\(S_{odd} = a_1 \oplus a_3 \oplus a_5 \oplus \dots\)

\(S_{odd} = 0\),则对手移动奇数级会破坏异或和,你可在奇数级上按 Nim 策略恢复;对手移动偶数级,你只需将相同数量的石子继续下移,恢复奇数级异或和。最终你必走最后一步,故为必败态。

\(S_{odd} \neq 0\),你可按普通 Nim 策略移动某一奇数级,使新异或和为 0,将必败态交给对手。故为必胜态。

\[\square \]


2. 普通 Nim 必胜走法计数

给定 \(n\)\(a_i\),总异或和 \(S = a_1 \oplus \dots \oplus a_n\)

\(S=0\),必胜走法数为 0。
\(S \neq 0\),必胜走法数为满足 \((a_i \oplus S) < a_i\) 的堆数。

快速法:取 \(S\) 的最高位,统计该位为 1 的堆数。

\[\square \]


3. 异或和为 0 的静态构造

必要条件:总石子数 \(n\) 必须为偶数。

允许空容器\([\frac{n}{2}, \frac{n}{2}, 0, \dots]\)

要求非空\(m\) 为偶数且 \(n \ge m\),配对等量。

\[\square \]


4. P 状态方案数 \(D_k(n)\) 递推

定义\(D_k(n)\) 表示将 \(2n\) 个石子放入 \(k\) 个有标号容器,异或和为 0 的方案数。

核心变换:从每个奇数堆拿走 1 个石子,再将所有数除以 2。此变换为双射。

递推式

\(i = 2x+1\)(奇数):

\[D_k(2x+1) = \sum_{j=0}^{\lfloor k/4 \rfloor} \binom{k}{4j+2} \cdot D_k(x-j) \]

\(i = 2x+2\)(偶数):

\[D_k(2x+2) = D_k(x+1) + \sum_{j=1}^{\lfloor k/4 \rfloor} \binom{k}{4j} \cdot D_k(x+1-j) \]

(此处为加法,非减法)

\[\square \]


5. 插板法(隔板法)

\(N\) 个相同球放入 \(M\) 个有标号盒子(允许空):

\[\binom{N+M-1}{M-1} \]

若要求每个盒子至少 1 个:

\[\binom{N-1}{M-1} \quad (N \ge M) \]

\[\square \]


6. 洛谷 P5363 映射

棋盘长 \(N\),金币数 \(m\),空格数 \(n = N-m\)

金币产生 \(m+1\) 个空隙,编号 \(0\)\(m\)。空隙 0 为地面,不参与博弈。台阶为 \(1\)\(m\)

有效堆(奇数台阶)数:

\[k = \left\lceil \frac{m}{2} \right\rceil = \frac{m+1}{2} \]

无效堆(偶数台阶)数:

\[k_2 = m - k \]

注意:不是 \((m+1)-k\),勿将地面计入。


7. 答案计算

总方案数:

\[\text{Total} = \binom{N}{m} \]

必败态计数:

\[\text{lose} = \sum_{i=0}^{\lfloor n/2 \rfloor} D_k(i) \times \binom{n - 2i + k_2 - 1}{k_2 - 1} \]

\(k_2 = 0\) 时,仅当 \(n - 2i = 0\) 时该项贡献 \(D_k(i)\),其余为 0。

答案:

\[\text{Ans} = \text{Total} - \text{lose} \]

\[\square \]


8. 数位 DP 扩展(补充)

数位 DP 可逐位统计“将 \(N\) 个石子放入 \(M\) 个容器,异或和为 0”的方案数。

dp[pos][carry] 处理到第 \(pos\) 位,进位为 carry。枚举当前位放 1 的个数 \(c\)\(c\) 必须为偶数),满足:

\[c \times 2^{pos} + carry \equiv N_{pos} \pmod{2^{pos+1}} \]

转移时乘以 \(\binom{M}{c}\)

最终 dp[L][0] 即为答案,其中 \(L\) 取足够大的位数。

\[\square \]


结束。 本清单已包含全部核心证明和扩展,所有公式均可正常渲染。

posted @ 2026-07-14 21:35  H_Fx  阅读(11)  评论(0)    收藏  举报