博弈总结

博弈题总的思路是


步骤1:将所有终结位置标记为必败点(P点);

步骤2: 将所有一步操作能进入必败点(P点)的位置标记为必胜点(N点)
步骤3:如果从某个点开始的所有一步操作都只能进入必胜点(N点) ,则将该点标记为必败点(P点) ;
步骤4: 如果在步骤3未能找到新的必败(P点),则算法终止;否则,返回到步骤2。


一般的简单题通过分析出简单数据的答案找出规律。

规律不好找的时候通过SG函数来找。

当数据比较大,内存不够SG函数,可以通过SG函数分析简单的数据来找规律。

组合类的游戏先求出各个游戏单个的sG函数,再利用定理(异或)来解,

只用用这个定理的时候求出具体的SG函数值才有意义,不然区分是否是零就好了。


Nim类游戏就是属于组合类游戏吧

最后取的为win的时候


对于nim游戏的某个位置(x1,x2,x3),当且仅当它各部分的nim-sum等于0时(即x1⊕x2⊕x3=0),则当前位于必败点。

对于每次操作,先手win的情况下,先手每次保证取都保证异或为0,(通过这样可以判断先手有多少种操作走到必败点)

最后取的为loser的时候


这种规则只分为两种情况。一种是每一堆的牌都是只有一张,那么这样的话,只需要看有几堆,自然可以得出先手是输是赢。

对于至少有一堆是两张以上的牌的,那么操作还是按照之前的规则,取异或为0先手输。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值