题解:CF1839E Decreasing Game
sly_lsy
·
·
题解
CF1839E Decreasing Game(*2400)
提供一个比较自然的推法。
博弈论题,从最终局面进行倒推。这是因为可以从“选择这步会发生什么”来推得该不该选择这步。也就是知道后续操作,在开头加一个操作。
后手希望最终局面全是 0。
再往前一步,若剩下一个非 0 的数,先手选了它以后,后手就败了。
若剩下两个非 0 的数,如果它们相同,经过一次操作,转化为全 0 局面;否则经过一次操作剩下一个非 0 数,后手败。
也就是若想要一些数全变为 0,最后一次必须是留下两个相同数。这就是后手目的。
考虑我们的操作,假设有选择的两数 x < y,那么变为 0 和 y-x。
这里只讨论操作时 x<y 的情况。
那么经过若干次操作以后,留下了两数一定是 a_p-\sum op_ia_i 的形式,即初始数组中某个子集的带符号和,其中 op_i\in\{-1,1\}。若后手目的能够达到,把 x=y 方程左右两边做移项,得到一个 \sum_{i\in S}a_i=\sum_{i\in T}a_i 的形式,也就是把 a_i 划分成两个不交的集合 S 和 T,和相等。
若操作过程中涉及到了 x=y,且剩余数还未全变成 0,容易归纳转化成上面的问题。
因此后手必胜等价于可以把 a_i 划分成两个不交的集合 S 和 T,使得和相等。
必要性显然。
定策略。
若先手必胜,后手不管怎么选都达不到目的,所以直接随便选。
若后手必胜,在开始前找好划分的集合 S 和 T。最终希望 x-y=0 时,S 里的数符号和 T 里的数符号是相反的,只需要让每一步的时候,选择一个 S 里的数和一个 T 里的数。
由于两边减少量相同,和永远相同,一定可行。
这也就证明了充分性。
对于官解和题解区的做法,利用了减小的两数相等,推出和相等,因此存在等和划分,再严谨证明,很妙!
code