TOAD 6 - Uniform Candy Distribution

又是一个 Matrix67 大大翻译过的题。

Problem

nn 个人围成一圈,第 ii 个人手中有一个数 aia_i 。现在重复执行以下两步:

  1. 如果 aia_i 是奇数,则把 aia_i 加 1
  2. ai12(ai+ai+1)a'_i \leftarrow \frac{1}{2}(a_i + a_{i+1})

证明:有限步后,所有的数一定相同。

Solution

考虑 aa 里面的最大值。考虑最小的一个 2t2^t 大于最大值 axa_x 。显然 axa_x 怎么增加,最终是不可能超过 2t2^t 的。

再考虑 aa 的和。由于最大值有限,所以和一定有限,易知有限步之后, aa 的和一定不变。

考虑 aa 和不变后的状态。则任意时刻所有的 aia_i 一定为偶数。我们考虑 aa 的平方和。

ai2ai2=ai2(ai+ai+12)2=ai2(12ai2+aiai+1)=12(aiai+1)2\sum a^2_i - \sum a'^2_i = \sum a^2_i - \sum ( \frac{a_i + a_{i+1}}{2})^2 = \sum a^2_i - \sum (\frac{1}{2} a^2_i + a_i a_{i+1}) = \frac{1}{2} \sum (a_i - a_{i+1})^2

可以看到,如果 aa 不是全等的,则 aa 的平方和一定会减小。由于每次减小的量是至少是 12\frac{1}{2} ,所以经过有限次变换之后, aa 一定全部相同。