笔记——博弈 SG函数

博弈问题博大精深啊 。。。

sg函数 原理证明不做赘述,直接子额怎么用

首先你必须知道P点与N点

简单来说

P点 ——谁从这个点走谁就输        N点——谁从这个点走谁就赢

这两个有大大的关系  

只要从必败点(P点)走必然下一步就会走到必胜点 (N点)反之类比一下 只要从必胜点 (N点)走必然下一步就会走到必败点(P点)就是肯定的相互转化

 看看这个题 这个题 

首先,将大问题分成小问题 ,即把这三堆分成一堆一堆的小问题 然后取xor(^) 就是答案

要计算sg函数需要mex运算 我也不知道是啥 会用就行

mex 运算定义为 对于一个集合 S ,mex(S)表示最小不属于这个集合的最小非负整数

for example :s={0,2, 3 },mex(S)=1;s={1,2,3,555},mex(s)=0;

    对于任意状态 x , 定义 SG(x) = mex(S),其中 S 是 x 后继状态的SG函数值的集合 如果sg(x)的后继 sg(a) ,sg(b),sg(c) , mex(sg)={sg(a) ,sg(b),sg(c) };即就类比于PN图 特定的方向等价于限制取多少   

详情看这个点击打开链接 

做题的时候 一定先明确 能取的范围

猜你喜欢

转载自blog.csdn.net/ty_gyy/article/details/79923478