所有得sg 博弈 或者说是博弈和 无非就是说 谁没得选谁输/谁选了最后一个谁输 (反过来的话是不成立的 )就不是博弈和的问题了 因为 0 你先手败了 但是下一轮是后手先 后手又败了 你先手赢了 0^0=0 但是是先手赢了 这种反 nim 要特别考虑
对于 已经知道的 没得选的 (状态D) SG[D]=0 然后其他的 状态 都有他的n个后继 Di
SG[D]=mex(SG[D0],SG[D1]…SG[Di]…SG[Dn]);
对于每一个状态(如果他是多个状态的和的话) 的SG值也无非就是多个状态的 异或和
SG[D]=0 就是必败态 否则 必胜
还有对于求先手必胜态时, 先手可以进行的操作(也就是后继的选择)遍历每一种可能
如果操作过后的状态的 SG 值 为 0 也就是后手必败 则 那一个操作 就是先手 的一种可能选择
具体方法也就是 打表/dfs
博弈SG函数总结
最新推荐文章于 2021-11-17 12:35:54 发布