nim石子游戏

n堆石子

每次操作可以从一堆石子中取任意个

不能操作者输

ans:把所有石子数量xor,为0先手必败,反之后手必败

必胜状态:存在一种方案走到对方的必败态

必败状态:所有方案都会走到对方的必胜态

 

现在证明结论

若莫得石子,xor=0,先手必败

若当前xor为0,那么操作一次xor就必定不再是0

若当前xir不为0,那么一定存在一种那石子方案使得xor变成0

1 3 4=》6

1 3 2=》0

xor最高位的1,找到一个数的这一位是1

将这个数变为x xor y

就是把这个数操作一下,就可以直接影响xor值

 

sg函数

当sg=0时,先手必败,否则先手必胜

设状态a为先手操作一部之后可能变成的状态集合

a={b,c,d,.....}

sg(a)=mex{sg{b},sg{c},...}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值