巴什博弈(Bash Game)
题意:n 个石子,两人轮流取,可以自己挑选 1 到 m 个,谁取完最后一堆谁获胜.
结论:
先手必败,否则必胜
尼姆博弈论(Nimm Game)
题意:n 堆石子,每堆石子有a[i]个,每人轮流取,每次取某堆石子至少一个,最后取完者胜。
结论
不为0,则先手必胜,反之先手必败
证明
在此贴上大佬的博客
https://blog.csdn.net/k_koris/article/details/81743806
延伸
三堆石子a,b,c 且 a>b>c;
如果a ^ b ^ c不为0,则当前人必胜,令a=b ^ c;
则实现转移
威佐夫博奕(Wythoff Game)
题意:有两堆石子,有两种取法:
1.从一堆石子取走任意多颗(>=1)
2.从两堆石子取走相同的任意多颗(>=2)
最后取完者胜
结论
若满足上述状态,必败,反之必胜
延伸
若当前状态为
,b>=a,求状态转移方法
若当前转态已经是必败态,就不需要转移了
当前状态
转移方法
后一状态
条件
斐波那契博弈(Fibonacci Nim Game)
有一个堆n个石子(n>=2),第一个人可以取任意多个,但是不得一次性把所有石子取完,后一个取的石子数量不得超过第一个人的两倍,最后取完者胜/
结论
若n不是斐波那契数列的某一项,则必胜,反之必败
延伸
若n不是斐波那契数列的某一项,根据某一定理:当一个数不是Fibonacci数时,这个数必然等于若干个Fibonacci数之和,并且这些Fibonacci数在Fibonacci数列中都不相邻。
设
先手拿最小的斐波那契数 ,但是因为
则后手不能一次性将f(a_{2})拿光,因此先手必胜,策略如上
Sprague-Grundy定理(SG定理)
没找到相应的博客,就按照我自己的理解来吧。
类似动态规划,sg[i]表示当前状态,若在最优情况下,每个人都想要自己获胜,只要存在一个sg[j]状态,使得
sg[j]必败且 ,这个代表着存在在一种方案,使得当前当前状态转移到一个必败状态。若存在这样方案,则sg[i]必胜,反之必败.
题目
POJ:
取石子游戏
Matches Game
Nim
A multiplication game
A Funny Game
A Chess Game
S-Nim
Georgia and Bob
A New Stone Game
Nim
John
Euclid’s Game
Christmas Game
HDU:
取石子游戏
取石子游戏
John
Stone Game II
Parallel Expectations
find the nearest station
Catching Fish
Digital Deletions
A Multiplication Game
A Chess Game
Euclid’s Game
S-Nim
Play a game
Stone Game
Northcott Game
Brave Game
Good Luck in CET-4 Everybody!
Fibonacci again and again
Rabbit and Grass
Being a Good Boy in Spring Festival
kiki’s game
Public Sale
取(m堆)石子游戏
取(2堆)石子游戏
悼念512汶川大地震遇难同胞——选拔志愿者
ZJU:
ZJU 3057 beans game