ACM_博弈论
LzyRapX
Just For Fun .
展开
-
巴什博奕(Bash Game)
巴什博奕(Bash Game):A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30。这应该是最古老的关于巴什博奕的游戏了吧。其实如果知道原理,这游戏一点运气成分都没有,只和先手后手有关,比如第一次报数,A报k个数,那么B报5-k个数,那么B报数之后问题就变为,A和B一块报数,看谁先报到25了,进而变为20,15,10,5,当到5的时候,不管A怎么报数,最后一个数肯定是B报的,可以看出,作原创 2016-04-21 20:51:59 · 547 阅读 · 0 评论 -
51nod 1185 威佐夫游戏 V2 (博弈+大数乘法模拟)
题目链接: 点击打开题目链接题解: 如果数据在10610^6左右,可以直接用(b−a)∗sqrt(5)+12(b-a)*\frac{sqrt(5)+1}{2}。但是这道题数据是101810^{18},那么直接乘的话,肯会有精度问题。那么可以上Java大数的。我们也可以直接大数乘法手动模拟。为了提高精度,我们将 0.618033988749894848204586834… 拆成拆成三部分的整数放进原创 2017-05-21 10:13:55 · 517 阅读 · 0 评论 -
#51 C. Pie or die (博弈)
题目链接:点击打开链接http://codeforces.com/contest/55/problem/C题意:n×m的网格中有一些pie,每次先手可以移动一个pie到相邻的格子,如果这个pie在边界的话就可以移出去并先手胜利。后手每次选择一个边界的格子的一条边封上,先手以后就不能越过这条边移出网格。问你先手是否能胜利。题解:因为pie只能从最外原创 2017-04-15 16:38:50 · 418 阅读 · 0 评论 -
PE 301 Nim (Nim博弈)
NimProblem 301Nim is a game played with heaps of stones, where two players take it in turn to remove any number of stones from any heap until no stones remain.We'll consider the three-he原创 2016-12-27 20:18:35 · 395 阅读 · 0 评论 -
HDU 5795 A Simple Nim (SG博弈)
A Simple NimProblem DescriptionTwo players take turns picking candies from n heaps,the player who picks the last one will win the game.On each turn they can pick any number of candies which come f原创 2016-08-06 02:06:59 · 641 阅读 · 0 评论 -
阶梯博弈(Staircase Nim)
今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输..如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只能把后面的点往前面原创 2016-04-21 21:07:10 · 2757 阅读 · 3 评论 -
斐波那契博弈
斐波那契博弈:有一堆物品,两人轮流取物品,先手最少取一个,至多无上限,但不能把物品取完,之后每次取的物品数不能超过上一次取的物品数的二倍且至少为一件,取走最后一件物品的人获胜。结论是:先手胜当且仅当n不是斐波那契数(n为物品总数)如HDU2516:#include #include #include using namespace std; const int原创 2016-04-21 21:03:27 · 763 阅读 · 0 评论 -
尼姆博弈(Nimm Game)
尼姆博弈(Nimm Game):尼姆博弈指的是这样一个博弈游戏:有任意堆物品,每堆物品的个数是任意的,双方轮流从中取物品,每一次只能从一堆物品中取部分或全部物品,最少取一件,取到最后一件物品的人获胜。结论就是:把每堆物品数全部异或起来,如果得到的值为0,那么先手必败,否则先手必胜。代码如下:#include #include #include using namespace原创 2016-04-21 21:01:47 · 2231 阅读 · 0 评论 -
威佐夫博弈(Wythoff Game)
威佐夫博弈(Wythoff Game):有两堆各若干的物品,两人轮流从其中一堆取至少一件物品,至多不限,或从两堆中同时取相同件物品,规定最后取完者胜利。直接说结论了,若两堆物品的初始值为(x,y),且x记w=(int)[((sqrt(5)+1)/2)*z ];若w=x,则先手必败,否则先手必胜。代码:#include #include #include us原创 2016-04-21 20:59:50 · 663 阅读 · 0 评论 -
ACdream 1112 Alice and Bob (SG函数)
题目链接: ACdream 1112题意: 给你n n堆石子,每次要按照规则将该堆石子的个数分为两堆或者将该堆石子的个数减少,谁不能继续操作了谁就输。 规则如下: 若n=a∗b n=a*b 且a>1,b>1 a>1,b>1,可以将石子分为 a,b a,b 两堆;或者可以减少为 a a 或 b b 。比如n=6 n=6,可以分为(2,3),2,3 (2,3),2,3这三种情况,但是不能分为(1原创 2017-07-26 12:18:27 · 441 阅读 · 2 评论