博弈
Z-Pilgrim
这个作者很懒,什么都没留下…
展开
-
poj 2348 博弈 -- 辗转相除为背景
http://poj.org/problem?id=2348分析博弈类的题的第一步,找必胜态和必败态,这就涉及情况的分类,分类好的话,就容易找到规律。先找容易判断出来的,或者没有其他选择机会的。本题中,假设a>b;(1)a - b (2)a-b>=b,a-b=b是必胜态,重点是a-b>b的情况,这么想: 假设a=k*b+r 0#include原创 2014-03-04 18:48:31 · 1222 阅读 · 0 评论 -
poj 2484 博弈--对称思想 15行代码以内解决
题目:http://poj.org/problem?id=2484题意:n枚硬币排成圈,两人轮流从中取一枚或者两枚硬币。取两枚时,必须取连续的两枚。硬币取走之后留下空位,相隔空位视为不连续。取走最后一枚硬币者获胜。问谁会获胜。Sample Input1230Sample OutputAliceAliceBob代码不难,但是需要动脑子。这么想,n个硬币原创 2014-03-04 12:23:13 · 1348 阅读 · 0 评论 -
博弈 总结一
几种思考方法或规则: 1、对手怎么拿,自己就怎么拿 2、 必败态意味着无论怎么选择,对手都是必胜态;必胜态意味着必然存在一种选择,使得对手面对必败态。(1)一个状态时必败状态当且仅当他的所有后继都是必胜状态。(2)一个状态时必胜状态当且仅当它的至少一个后继是必败状态。 由这两点可以导出两条定理:a. 对于必胜态,一原创 2014-03-07 00:19:43 · 1413 阅读 · 0 评论 -
hdu 2188 巴什博弈
巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k原创 2014-05-15 21:19:46 · 1189 阅读 · 0 评论 -
Sprague-Grundy函数
上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但相信你如果掌握了本节的内容,类似的千变万化的问题都是不成问题的。现在我们来研究一个看上去似乎更为一般的游戏:给定转载 2014-08-09 08:47:08 · 909 阅读 · 0 评论 -
hdu 2897 巴什博奕变形
http://acm.hdu.edu.cn/showproblem.php?pid=28971、看清最后取的是输还是赢2、分类讨论,想的时候,看怎么能回到最初状态---就是回到t*(p+q)+s的状态,以及怎么回到已经推出的必败态#include #include #include #include #include #include #include #include原创 2014-08-08 11:03:28 · 895 阅读 · 0 评论 -
poj 2368 巴什博奕变形
http://poj.org/problem?id=2368巴什博奕看这里http://blog.csdn.net/u011026968/article/details/38434777这题比较无聊的地方是,卡时间,O(n)算法会超时#include#include#include#includeusing namespace std;int a[1010];原创 2014-08-08 11:38:19 · 1403 阅读 · 0 评论 -
poj 1067 威佐夫博奕
http://poj.org/problem?id=1067一下摘自NEU培训课件原创 2014-08-08 19:45:16 · 657 阅读 · 0 评论 -
hdu 1846 巴什博奕
http://acm.hdu.edu.cn/showproblem.php?pid=1846以下摘自NEU培训课件•只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.• cout•显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜原创 2014-08-08 09:51:14 · 1047 阅读 · 0 评论