博弈算法大全(含已做过的题) --------只记算法,不讲原理

斐波那契博弈

一堆石子,每次至少取1,至多取上次的2倍

            若n为斐波那契数列,则后手胜

 

 

---------------------------------------------------------华丽的分割线----------------------------------------------------

 

 

巴什博奕

一堆石子,每次至少取1,至多取m,如果n=k*(m+1),则后手胜

 

 

 

---------------------------------------------------------华丽的分割线----------------------------------------------------

 

 

 

威佐夫博奕

             共两堆石子,一堆为X个,一堆为Y个且有X<Y

另设z=y-x

                如果(int)[((sqrt(5)+1)/2)*z  ] == x,先手败

 

 

 

---------------------------------------------------------华丽的分割线----------------------------------------------------

 

环形博弈

n个石子围成一个环,每次取一个或者取相邻的2个

石子数<=2先手赢,否则后手赢

 

 

 

---------------------------------------------------------华丽的分割线----------------------------------------------------

 

                                                                                                                     尼姆博奕

共m堆,每堆n个石子,每次至少取一个,多者不限

 

0与每个数异或,如最后结果为0,则后手胜(设一数组a[m],令sum=0,循环与数组每一个数据异或(sum^=a[i]),sum最后等于0则后手胜)

                                                                                                            题库

         game                    Nim博弈+DP  

 

 

---------------------------------------------------------华丽的分割线----------------------------------------------------

 

 

 

对称博弈

        n个石子围成环,每次只能取相邻的1-k个

          如果k < n:

                        对k=1,如果n能被2整除,则后手赢

                        如果k>1,后手赢(先手取什么位置后手就取对称的位置,这样保证后手永远能取到)

           如果k>=n:

                        先手赢.  

         题:

                  

Competitive Seagulls   对称博弈变形

 

 

 

 

---------------------------------------------------------华丽的分割线----------------------------------------------------

 

 

 

其他博弈

                有些博弈没有既定模板,需要推算规律从而解题

posted @ 2018-04-01 22:15  秃头大师  阅读(496)  评论(0编辑  收藏  举报