博弈题list

首先还是得学姿势吧

基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530

经典翻硬币游戏小结:http://blog.csdn.net/acm_cxlove/article/details/7854534

经典的删边游戏小结:http://blog.csdn.net/acm_cxlove/article/details/7854532

1、巴什博弈:只有一堆石子,n个,每人每次能取1~m个,取完者胜。

     这个模型的解决办法是看n%(m+1)是否为0,为0的话先手必败,否则必胜。

2、威佐夫博弈:有两堆石子,每人每次可从一堆中拿若干个石子(>=1)或者从两堆中拿相同多的若干个石子(>=1),无法拿者输。

      证明过程略去(反正也看不太懂),只有面对奇异局面的时候,先手才必败。设(ai,bi)是奇异局面,则有ai =[i(1+√5)/2],bi= ak + i  (i=0,1,2,…,n 方括号表示取整函数)

3、尼姆游戏:有三堆石子,每人每次从某一堆中选取若干个石子,不能不取,无法拿者输。

     将三堆石子数异或起来,是0则先手输,否则先手赢。可以推广到多堆石子的情况。


接下来是一些经典游戏。。。

1、普通nim游戏

     没啥好说的,就是注意一下SG函数的使用条件:

1.       谁无法操作就输,与就是能找到必败态。

2.       满足类似拓扑序的东东

3.       各个游戏独立

4.       平等游戏

5.       对操作的限制,至于常数有关。

  2、anti-nim游戏

       定义取走最后一个石子的人输,就变成了anti-nim。于是SJ定理登场,即先手必胜只有两种情况:

        1.如果每一个小游戏都只剩下一个石子了,SG0

        2.至少一堆石子>1,SG不为0.

3、every-SG游戏

      传说中的多线程博弈。

形象的说就是红队和蓝队每个队n个人,然后进行n个博弈,最后结束的一场博弈的胜者胜利。

显然,每个博弈的胜者都想让时间坚持得更久,每个败者都想让这场博弈早点结束。

不难列出每个点到终止的步数的DP方程。

如果v是先手必胜,则f[v]=max(f[u])+1,其中uv的后继且u为先手必败。

否则f[v]=min(f[u])+1,uv后继。

         然后可以求出每一个博弈的步数。

         求出这个最大值,如果最大值是奇数,那么先手必胜。这个显然。



博弈题每次在赛场上没做出来都觉得很遗憾  所以特别列个list出来刷  主要是一些偏重于分析过程的题



HDU3389  Game

题目大意:1-N带编号的盒子,当编号满足A>B && A非空 && (A + B) % 3 == 0 && (A + B) % 2 == 1则可以从A中取任意卡片到B中,谁不能取了谁就输了。


分析:找规律会发现可以相互给卡片的盒子之间是有联系的。然后1 3 4三个盒子有牌成为了终止状态。具体分析可见:http://blog.csdn.net/qiqijianglu/article/details/7888110


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值