博弈论即判断必胜策略的问题。
一. Nim游戏模型
Nim模型中有两个状态:
P-Previous
N-Next
P代表后手必胜,N代表先手必胜。
满足如下三点的模型便是Nim模型:
1.无法进行任何移动的局面是P-position
2.可以移动到P-position的局面是N-position
3.所有移动都导致N-position的局面是P-position。
经典例题:
有n堆石子,每堆石子有ai颗石子,A和B轮流从非空的石子堆中取走至少一颗石子,取光所有石子的一方获胜。
该游戏的模型非常神奇——
flag=a1a2…^an;
if(flag==0) 先手必败
else 先手必胜
Grundy数
当前状态的Grundy值=除任意一步所能转移到的状态 的Grundy值 之外的最小非负整数
然后异或grundy数,转换为Nim问题就行了