bzoj2281 黑白棋 博弈论

该博客探讨了bzoj2281题目的黑白棋问题,通过将黑子和白子配对转化为火柴问题,进一步转换为Nim游戏的必胜策略。博主介绍了当二进制位的抑或值模d+1等于0时为必败状态的结论,并给出动态规划求解必败状态方案数的方法。最后,通过计算所有必败状态来确定必胜状态的数量。
摘要由CSDN通过智能技术生成

       这道题目的转化真是巧妙啊。不过据说题目有点问题,那就不管了。首先将第i个白子和第i个黑子组成一对。那么这一对中,白子的左移是没有意义的,黑子的右移也是没有意义的(虽然有反例,但好像只能这样了)。那么每一对黑子和白子可以看成一堆火柴,则问题转化为一次在d堆中拿火柴的必胜策论。

       对于d-Nim(就这么叫了)问题,有个结论是如果对于二进制的每一位的抑或值x都有x≡0(mod d+1),那么为必败状态,否则为必胜状态。证明不会。。

       然后就可以用f[i][j]表示到二进制的第i位(从低到高),目前总和为j的必败状态方案数。注意j<=N-K。那么f[i][j]可以转移到f[i+1][j+x*(d+1)*2^(i)],注意有C(K/2,x*(d+1))种组合方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值