Loading

【笔记】斐波那契博弈

给定 \(n\) 个石子,先手可以取任意个石子,但不能一次取完,之后轮流操作,每个人最多可以取走前面一个人取走石子数的两倍,取走最后一个棋子的人胜利。

结论是先手必败,当且仅当 \(n\) 是斐波那契数。

首先我们证明 \(n\) 为斐波那契数时先手必败,我们另 \(n = F_i = F_{i-1} + F_{i - 2}\),将石子分为 \(F_{i-1},F_{i-2}\) 两堆,如果先手取走 \(\ge F_{i - 2}\),后手可以直接取完,成立。否则第一次取走 \(< F_{i - 2}\),讨论第一次取走的和 \(\frac{1}{3}F_{i - 2}\) 的大小关系,即可归纳下去。

然后对于 \(n\) 不是斐波那契数的情况,可以唯一表示为若干个 \(F\) 的和使得不存在相邻的 \(F\),那么我们第一次直接取完最小的 \(F\),就转化为若干个独立的 \(n\) 是斐波那契数的情况,先手必胜。

posted @ 2022-07-25 17:10  7KByte  阅读(84)  评论(0编辑  收藏  举报