Multi-Nim
有n堆石子,
两个人可以从任意一堆石子中拿任意多个石子(不能不拿)
或把一堆数量不少于2石子分为两堆不为空的石子,
没法拿的人失败。问谁会胜利
分析
我们实质上还是可以把TA分为若干个子问题
可以使用SG定理解释
如果只有操作1 那么就是裸的Nim游戏
操作2就是把一个子游戏分解为两个子游戏
可以使用SG(异或运算)将其作为连接
例如
(SG(3)=mex{(0),(1),(2),(1,2)})
SG值分别为({0,1,2,3})
那么(SG(3)=mex{0,1,2,3}=4)
但是一般来讲的话 直接套结论的博弈论的(a_i<=10^9)
怎么办?
打表找规律
前人总结规律如下
[SG[x]=egin{cases}
x-1 (x\%4==0)\
x (x\%4==1 or 2)\
x+1 (x\%4==3)\
end{cases}
]
Multi-SG
根据上面的游戏我们定义
1.Multi-SG游戏规定 在符合拓扑原则的前提下一个单一游戏的后继可以是多个单一游戏
2.Multi-SG游戏其他规则同一般SG
注意区分后继以及多个单一游戏
对于一个状态来讲
不同的划分方法会有多个不同的后继
而在一个后继当中会有多个独立的游戏
该后继状态SG值即为后继状态中独立游戏的异或和
该状态的SG值即为后继状态的(mex)
例题
【luogu3185】 (or) 【BZOJ1188】
【luogu3235】 (or) 【BZOJ3576】