
博弈论
Ezereal
这个作者很懒,什么都没留下…
展开
-
POJ 1704 Georgia and Bob
题意:有个坐标轴,有n个棋子,只能往左移动,不能跨过或覆盖棋子,最后没的移动的输。题解:将每对棋子看成Nim中的一堆石子,石子堆中的个数等于两棋子间的距离#include#include#include#include#include#include #include #include #include #include #include #define INF 0x原创 2015-09-07 21:08:12 · 356 阅读 · 0 评论 -
hdu 2516 取石子游戏(FIB博弈)
引用:http://blog.youkuaiyun.com/dgq8211/article/details/7602807有一堆个数为n的石子,游戏双方轮流取石子,满足:1)先手不能在第一次把所有的石子取完;2)之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。约定取走最后一个石子的人为赢家,求必败态。这个和之前的Wythoff转载 2016-07-22 07:58:00 · 370 阅读 · 0 评论 -
2016 多校最后一题 (HDU 5724) Chess (组合博弈)
题目大概说有n行,每行20格子,都有一些棋子,两个人轮流进行这个操作:选择某一行一个棋子移动到该行右边第一个空的格子。不能进行的人输。问先手是否能赢。这个博弈显然是组合博弈,先手后手交替进行、每次决策是有限的、有胜利条件。。然后SG定理搞了。。用set记录集合竟然T了。。。。#include #include #include using namespace std;#de原创 2016-07-20 13:53:26 · 877 阅读 · 0 评论 -
hdu 4315 Climbing the Hill (阶梯博弈)
转载于:http://www.cnblogs.com/jiangjing/p/3849284.html阶梯博弈:首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输..如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只原创 2016-07-23 09:52:19 · 611 阅读 · 0 评论 -
POJ 3922 A simple stone game(K倍减法游戏)(*)
转载于:http://www.cnblogs.com/jianglangcaijin/archive/2012/12/19/2825539.html题意:两人取一堆石子,石子有n个。 先手第一次不能全部取完但是至少取一个。之后每人取的个数不能超过另一个人上一次取的数的K倍。拿到最后一颗石子的赢。先手是否有必胜策略?若有,先手第一步最少取几个?思路:(1)首先k=1的时候,必败态是2转载 2016-07-22 16:25:03 · 429 阅读 · 0 评论 -
Hdu 1527 取石子游戏 (威佐夫博弈)
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。威佐夫博弈中必败态即奇异局势,那么任给一个局势(a,b),怎样判断它是不原创 2016-07-22 16:04:25 · 430 阅读 · 0 评论 -
HDOJ 3951 Coin Game
思路:本题题意为,给出N个硬币围成一个圈,然后两个人从这圈硬币中轮流拿1个或毗邻的2个硬币。直到全部拿完为止,最后一个拿的人为,胜者。 当N 当N>=3时,肯定是第2个拿的人胜利,因为当N为偶数时,不管第1个人,怎么拿,第2个人拿与第一个人同样数量的硬币,且与第1人所拿硬币呈中心对称。最后一定是第2个人胜利。当N为奇数时,在第1轮中,只要第2个人所拿的硬币数与第1个人所拿的硬币数不同,且与第原创 2015-09-07 20:55:36 · 443 阅读 · 0 评论 -
HDOJ3032 Nim or not Nim? (sg打表)
题意:题意:规则和nim博弈取n堆石子一样,n堆石子,游戏双方每次可以取某一堆的任意个,不可以不取,还可以把一堆分成两堆,最后没办法操作的一方为输家!题解:Lasker's Nim游戏,通过打表可以发现规律#include#include#include#includeusing namespace std;int main(){ //freopen("input.原创 2016-07-22 15:04:00 · 347 阅读 · 0 评论 -
hdu 2897 邂逅明下
题意:每行有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完。两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输。对于每一行的三个数字,给出先取的人是否有必胜策略,如果有回答WIN,否则回答LOST。你把对应的答案发给我,如果你能在今天晚上8点以前发给我正确答案,或许我们明天下午可以再见。”小t二话没说,将自己的邮箱给了原创 2016-07-22 15:00:38 · 304 阅读 · 0 评论 -
HDU2188 Public Sale(巴什博弈)
巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再原创 2016-07-22 14:58:19 · 329 阅读 · 0 评论 -
POJ 2348 Euclid's Game
题目大意:给两堆石子(题目中是数,配合一下上文这里说石子),两人依次取石子,规则是:每次从石子数较多的那堆取(两堆石子数目相等时任选一堆),取的数目只能为石子少的那一堆的正整数倍。最后取完一堆石子者胜。问给定情况下先手胜负情况。//现有状态(x,y) (设x>0且y>0,其它情况自行考虑)//(1)当x=y时,显然先手胜//(2)不妨设x<y//那么(x+y,y)的下一步必定为(x,原创 2015-09-07 20:53:09 · 337 阅读 · 0 评论 -
hdu 4111 Alice and Bob(中档博弈题)★ ★
1.每堆部是1的时候,是3的倍数时输否则赢;2.只有一堆2其他全是1的时候,1的堆数是3的倍数时输否则赢;3.其他情况下,计算出总和+堆数-1,若为偶数,且1的堆数是偶数,则一定输;4.不在上述情况下则赢。#includeint main(){ int js=0; int _case,i,n,x; int flag1,flag2,flag,sum;转载 2016-09-26 10:18:35 · 442 阅读 · 0 评论