博弈论进阶之Multi-SG

Multi-Nim

从最简单的Nim模型开始html

它的定义是这样的spa

\(n\)堆石子,两我的能够从任意一堆石子中拿任意多个石子(不能不拿)或把一堆数量很多于\(2\)石子分为两堆不为空的石子,无法拿的人失败。问谁会胜利code

博弈分析

这个问题的本质仍是Nim游戏,能够利用SG定理来解释htm

经过观察不难不发现,操做一与普通的Nim游戏等价blog

操做二其实是将一个游戏分解为两个游戏,根据SG定理,咱们能够经过异或运算把两个游戏链接到一块儿,做为一个后继状态游戏

煮个栗子get

SG(3)的后继状态有\(\{ (0),(1),(2),(1,2) \}\)他们的SG值分别为\(\{ 0,1,2,3 \}\),所以\(SG(3)=mex\{ 0,1,2,3 \}=4\)class

另外这种游戏还有一个很是神奇的性质方法

\[SG\left( x\right) =\begin{cases}x-1\left( x\mod4=0\right) \\ x\left( x\mod4=1 \lor 2\right) \\ x+1\left( x\mod4=3\right) \end{cases}\]im

而后把这个结论背过就好啦233

Multi-SG

根据上面的游戏,咱们定义Multi-SG游戏

  • Multi-SG 游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继能够为多个单一游戏
  • Multi-SG其余规则与SG游戏相同。

注意在这里要分清楚后继多个单一游戏

对于一个状态来讲,不一样的划分方法会产生多个不一样的后继,而在一个后继中可能含有多个独立的游戏

一个后继状态的SG值即为后继状态中独立游戏的异或和

该状态的SG值即为后继状态的SG值中未出现过的最小值

例题

难度跨度好大啊QWQ。。

直接放题解吧

HDU 3032

POJ 2311

BZOJ 2940

BZOJ 1188

洛谷 3235

相关文章
相关标签/搜索