博弈
文章平均质量分 58
Lanifer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 2599 A funny game
题目: 给定一棵有N个节点双向边的树,从某个节点出发,两人轮流不重复地转移到另一个节点,无路可走的人输。分析:树形博弈, N态的后继一定有P态,P态没有N后继态。 注意状态的转移。。。。。代码:#include#include#include#include#includeusing namespace std;const int maxn=1010;int原创 2013-09-29 19:23:06 · 758 阅读 · 0 评论 -
LA 3668 A Funny Stone Game(博弈,SG定理)
LA 3668 A Funny Stone Game题意:有n堆石子,编号为0~n-1。第i堆有Si个石子 ,两个人轮流操作。每次可以选3堆i,j,k(i分析:先考虑这样一个简单点的游戏:[ 记为game(i) ] 同样有n个堆,但只有其中一个堆(设为i)有一个石子,操作规则和上面的游戏相同。问先手必胜还是必败?如果你熟悉SG定理,一定可以马上想到解决方法。SG[ i原创 2014-01-14 18:05:12 · 1061 阅读 · 0 评论 -
UVA 10561 Treblecross(组合游戏_SG定理的应用)
题目地址例题 ,强大的SG定理。。SG != 0 -----win ; SG == 0 -----lose ;SG的计算:单个游戏: SG = mex ( S ) , S是所有后继态(可能是单个游戏,也可能是组合游戏)的SG函数值集合。组合游戏: 各子游戏SG值的亦或值参考代码:#include #include #include #include原创 2013-11-23 15:01:44 · 933 阅读 · 0 评论 -
HDU 1536 S-Nim (SG定理)
题目:有n堆珠子,各堆的珠子数是确定的(不需相同),两人轮流从其中一堆中拿走一些珠子,最后没有珠子可拿的人输了。这题与Nim游戏不同的是每次拿走的珠子数只能是 给定集合中的数。分析:这就是考察SG定理的直接应用,每一堆都可看成一个子游戏,游戏和第SG值就是"各子游戏的SG值的Nim和“ (即异或值)代码:#include#include#include#i原创 2013-09-26 19:05:15 · 859 阅读 · 0 评论 -
HDU 1517 A Multiplication Game
题目: 基础博弈题Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers 2 to 9. Stan always starts with p = 1, does his multiplication, then Ollie multiplies the nu原创 2013-09-26 00:54:12 · 738 阅读 · 0 评论 -
HDU 2509 Be The Winner
简单尼姆博弈代码:#includeint main(){ int T,n; scanf("%d",&T); while(T--) { int nim=0,x,sum=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&原创 2013-09-25 21:26:25 · 657 阅读 · 0 评论 -
HUD 1846 Brave Game (基础博弈)
题目:各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的:1、 本游戏是一个二人游戏;2、 有一堆石子一共有n个;3、 两人轮流进行;4、 每走一步可以取走1…m个石子;5、 最先取光石子的一方为胜;如果游戏的双方使用的都是最优策略,请输出哪个人能赢。分析:巴什博奕很容易理解,将n个石子按每(m+1)个一堆分成若干堆,不足m+1原创 2013-09-26 12:41:47 · 711 阅读 · 0 评论 -
博弈基础
有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。转载 2013-09-25 19:43:03 · 730 阅读 · 0 评论 -
HUD 1847 Good Luck in CET-4 EveryBody
题目:作为计算机学院的学生,Kiki和Cici打牌的时候可没忘记专业,她们打牌的规则是这样的:1、 总共n张牌;2、 双方轮流抓牌;3、 每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)4、 抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生~),并且每次都是Kiki先抓牌,请问谁能赢呢?原创 2013-09-26 12:52:49 · 836 阅读 · 0 评论 -
HDU 1907 John
尼姆博弈今天开始学习博弈,这个理论果然精妙,胜负情况有二进制数异或值 是否为零决定。两个看似不相关。。尼姆游戏分两种:1. 最后拿者胜 (必胜态为: NIM和非零)2. 最后取者负 (“有充裕堆且NIM和非零” 或 “没充裕堆且NIM为零”)代码:#includeint main(){ int T,n; scanf("%d原创 2013-09-25 21:21:31 · 691 阅读 · 0 评论 -
LA 4411 Addition-Subtraction Game(无环图上的博弈,SG)
LA 4411 Addition-Subtraction Game题目内容过多,此处不再描述。典型的SG定理的应用,把“整个图只有一个顶点的value=1,其余节点的value=0,的游戏”看成单个子游戏。好好利用亦或运算的性质可大大降低复杂度,如:偶数个相同子游戏的SG值的亦或 必为零 。参考代码:#include #include #include #inc原创 2014-01-14 21:25:43 · 1077 阅读 · 0 评论
分享