学习笔记 Multi-Nim

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)

例题

【hdu3032】

【luogu3185】 (or) 【BZOJ1188】

【luogu3235】 (or​) 【BZOJ3576】

【poj2311】

原文地址:https://www.cnblogs.com/LovToLZX/p/13757512.html