TOAD 4 - Vacancy

似乎这个题仍然比较简单。(但我仍然不会 233)

Problem

有一个只包含正整数的多重集 SS ,A 和 B 博弈。每次 A 把 SS 分成两个多重集 C1,C2C_1, C_2 ,B 可以:

  1. SSC1C_1 ,并把 SS 里的所有元素减一
  2. SSC2C_2 ,并把 SS 里的所有元素减一

若某时刻 SS 为空集,则 BB 胜利,游戏结束。若某时刻 SS 中存在一个 0 ,则 A 获胜。

求两人获胜的条件。

Solution

我们令

ϕ(S)=xS2x\phi(S) = \sum_{x \in S} 2^{-x}

则 A 胜利的条件是 ϕ(S)1\phi(S) \geq 1 ,否则 B 胜利。

首先我们可以很容易得到:

ϕ(S)=ϕ(C1)+ϕ(C2)\phi(S) = \phi(C_1) + \phi(C_2)

ϕ(S)<1\phi(S) < 1 ,则 min(ϕ(C1)+ϕ(C2))<12\min(\phi(C_1) + \phi(C_2)) < \frac{1}{2} ,B 只需选择较小的那个即可。胜利条件不改变。

ϕ(S)1\phi(S) \geq 1 ,我们要证明一定存在 SS 可以分成两个集合 C1,C2C_1, C_2 使得 ϕ(C1),ϕ(C2)\phi(C_1), \phi(C_2) 均不小于 12\frac{1}{2} 。由于 ϕ(S)\phi(S) 是由若干个 2 的负幂加起来,所以一定存在一个 SS 的子集 CC ,使得 ϕ(C)=1\phi(C) = 1 。我们证明 CC 可以分成两个相等的集合即可。

C\|C\| 用数学归纳法。

CC 中存在两个元素显然是可行的。

否则,易知 CC 中最小的两个元素必定是相等的。我们把这两个元素合成一个小 1 的元素,则 ϕ(C)\phi(C) 不变,元素个数少了 1 。有归纳法知必定有解。Q.E.D.