ACM_博弈论
文章平均质量分 76
tintinsnowy
这个作者很懒,什么都没留下…
展开
-
hdu 1527(威佐夫博弈)
题目链接:点击打开链接 题目分析:裸运用 题目小结:floor()函数!!,没用差一点错了 #include #include #include #include #include using namespace std; int if_odd(int a,int b) { int j=b-a; if(a==floor(j*(sqrt(5.0)+1.0)/2.0))原创 2013-09-30 21:49:20 · 696 阅读 · 0 评论 -
hdu 1846 博弈
题目链接:点击打开链接 题目分析:典型的巴什博弈。 相关链接:点击打开链接 #include #include #include #include #include #include #include using namespace std; int main() { int n,k,t; scanf("%d",&t); while(t--) {原创 2013-09-28 20:50:37 · 623 阅读 · 0 评论 -
【转】博弈知识汇总
博弈知识汇总 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个 人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏 ,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够 取胜。 (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规 定每次至少取一个,最多取m个。最后取光者得胜转载 2013-09-28 20:52:58 · 625 阅读 · 0 评论 -
HDU 2149(public sale)
题目链接:点击打开链接 题目分析:BASH GAME。对于m m>n时,如果m%(n+1)==0时,后手一定赢。 如果m%(n+1)!=0则,先手可以拿走m%(N+1) 代码如下,欢迎斧正 #include #include #include #include #include #include #in原创 2013-09-29 11:23:16 · 609 阅读 · 0 评论 -
hdu 4764(stone) 巴什博弈
题目链接:点击打开链接、 题目大意:T和J,轮流写数字,前面一个人写x那么后面一个人写y 要使得1=n则输了 题目分析:博弈(bash game),转化。考虑你n-1的情况。如果某人在n-1处了,则另一个人必输。变为n-1个石头,每人轮流拿。 每次都不为空的,拿不超过k。 如果m%(k+1)==0,对于每次T拿,都原创 2013-09-28 20:34:11 · 1731 阅读 · 1 评论 -
hdu 1850 (nim games)
题目链接:点击打开链接 题目大意:nim games 的变形,问第一次采取行动方法数 1、如果a1^a2^a3^...^an = 0(即:nim - sum = 0),说明先手没有必胜策略,方法数肯定为0;2、假设先手有必胜策略。 问题则转化为 => 在任意一堆拿走任意K张牌,并且剩下所有堆nim - sum = 0(P-position)的方案总数。 ① 现在我们先看一个例子(5、7、原创 2014-01-28 22:54:49 · 603 阅读 · 0 评论 -
hdu 1848【博弈】sg函数应用
题目链接:点击打开链接 题目叙述:变形的nim,每次拿都为fibonacci数(但是从1,2,3,5,开始)一共三堆; 根据理论:2. If G = G1 + G2 and v = (v1; v2) 2 V1 £ V2, then g(v) is the bitwise XOR, or nim-sum,of the binary representations原创 2014-02-10 17:35:29 · 608 阅读 · 0 评论 -
ZOJ 3610 (The 9th Zhejiang Provincial Collegiate Programming Contest k)
#include #include #include #include int main() { int t; char b[50],g[50],x[50]; scanf("%d",&t); while(t--) { scanf("%s%s%s",&b,&g,&x); printf("%s will survive\n",g)原创 2014-03-01 22:31:16 · 860 阅读 · 0 评论