ACM常见博弈(更新中)

巴什博弈(Bash Game)

题意:n 个石子,两人轮流取,可以自己挑选 1 到 m 个,谁取完最后一堆谁获胜.

结论:

n % ( m + 1 ) = = 0 n \% (m+1)==0 先手必败,否则必胜


尼姆博弈论(Nimm Game)

题意:n 堆石子,每堆石子有a[i]个,每人轮流取,每次取某堆石子至少一个,最后取完者胜。

结论

a 1 a 2 . . . . a n a_{1} \bigoplus a_{2} \bigoplus.... \bigoplus a_{n} 不为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)
最后取完者胜

结论

a k = k ( 1 + 5 ) 2 b k = a k + k k = 0 1 2 , n ) a_{k} =\left \lfloor \frac{k*(1+ \sqrt{5} )}{2} \right \rfloor,b_{k}= a_{k} + k (k=0,1,2,…,n 方括号表示向下取整)

若满足上述状态,必败,反之必胜

延伸

若当前状态为 ( a , b ) (a,b) ,b>=a,求状态转移方法
若当前转态已经是必败态,就不需要转移了
当前状态              转移方法                                   后一状态                         条件
( x , y ) { y y b k ( a k , b k ) x = a k , y > b k x , y x a y x ( a y x , a y x + y x ) x = a k , x < b k x x a k ( a k , b k ) x > a k , y = b k x , y x a y x ( a y x , a y x + y x ) x < a k , y = b k (x,y)\to\left\{\begin{matrix} y拿y-b_{k}个石子& (a_{k},b_{k})& x=a_{k},y>b_{ k}\\ x,y拿x-a_{y-x}个石子&(a_{y-x},a_{y-x}+y-x)& x=a_{k},x<b_{ k}\\ x拿x-a_{k}个石子& (a_{k},b_{k})& x>a_{k},y=b_{k}\\ x,y拿x-a_{y-x}个石子&(a_{y-x},a_{y-x}+y-x)&x<a_{k},y=b_{k}\\\end{matrix}\right.


斐波那契博弈(Fibonacci Nim Game)

有一个堆n个石子(n>=2),第一个人可以取任意多个,但是不得一次性把所有石子取完,后一个取的石子数量不得超过第一个人的两倍,最后取完者胜/

结论

若n不是斐波那契数列的某一项,则必胜,反之必败

延伸

若n不是斐波那契数列的某一项,根据某一定理:当一个数不是Fibonacci数时,这个数必然等于若干个Fibonacci数之和,并且这些Fibonacci数在Fibonacci数列中都不相邻。
n = f ( a n ) + . . . + f ( a 2 ) + f ( a 1 ) n=f(a_{n})+...+f(a_{2})+f(a_{1})
先手拿最小的斐波那契数 f ( a 1 ) f(a_{1}) ,但是因为 f ( a 2 ) > 2 f ( a 1 ) f(a_{2})>2*f(a_{1})
则后手不能一次性将f(a_{2})拿光,因此先手必胜,策略如上


Sprague-Grundy定理(SG定理)

没找到相应的博客,就按照我自己的理解来吧。
类似动态规划,sg[i]表示当前状态,若在最优情况下,每个人都想要自己获胜,只要存在一个sg[j]状态,使得
sg[j]必败且 i j i \to 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

猜你喜欢

转载自blog.csdn.net/qq_40695203/article/details/89281446