博弈论
文章平均质量分 75
GocNeverGiveUp
这个作者很懒,什么都没留下…
展开
-
HDU 1846 Brave Game + HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴什博弈)
线段树学虚了,先来看看博弈论吧记得高中的时候玩过类似的游戏,依稀记得是每个人最多画四个圆圈,谁先画到第20个谁就赢了,一度在班里风靡的游戏,由于我知道规则,基本也就是象征性地输几把,还因此被奉为天人哈哈哈,惭愧的是今天才知道这东西叫巴什博弈下面是介绍: 只有一堆n个物品,两个人从轮流中取出(1~m)个;最后取光者胜。 考虑到 若n=m+1 那么 第一个人不论如何取都不能取胜。 ...原创 2018-02-13 17:00:41 · 311 阅读 · 0 评论 -
POJ 1704 Georgia and Bob(阶梯博弈)
POJ - 1704 博弈还是神奇啊,做题的时候又发现了什么了不得的东西,这道题一开始只是有点思路,做不出来,看了人家的题解才知道是阶梯博弈,这个博客讲的很好啊:阶梯博弈传送门。。。所谓阶梯博弈核心思想,我感觉也就是把非nim博弈的规则带来的影响通过下一步可以消除,从而实现nim规则的保留。。思路:将两个相邻石子看成一组,每一组中前一个和后一个的距离等效成nim中石子个数(相邻两组之间距离无影响)...原创 2018-04-03 20:43:20 · 531 阅读 · 0 评论 -
nim 博弈
博弈论(一):Nim游戏重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。 Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。 Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“...转载 2018-05-02 11:44:30 · 139 阅读 · 0 评论 -
HDU 3032 (Lasker's Nim)
取走--分割博弈,第一次见到,利用sg函数求解对于一堆石子,用sg函数的话。sg【0】=0 sg【1】=1石子数为 2 ,每次可取 0 ,1,个,还可以分解为(1,1)(0,2),结果都为0(分解为相同的和有0的结果都为0,不影响结果,故以后不写),根据nim规律 mex(2)=( 0 , 1 ) = 2;石子数为 3 ,每次可取 0 , 1 , 2 个,还可以分解成 (1,2),结果为sg [...原创 2018-05-02 15:18:22 · 227 阅读 · 0 评论 -
博弈习题汇总
找规律 or 打表 :HDU 1517 HDU 1525 HDU 1564 HDU 2147 HDU 2897 HDU 1851 HDU 4203 HDU 5794 POJ 1740 ZOJ 2686 51NOD 1534 51NOD 1714 51NOD 1831 UVA 1482 CodeForces 768HYSBZ 3609 HYSBZ 3722 HYSBZ 2463SG函数:HDU 1...原创 2018-08-12 19:25:56 · 3830 阅读 · 0 评论 -
博弈刷题--各种巴什博弈及其变形+SG打表找规律
HDU - 2188#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#include<set>#include<map>#include<queue&原创 2018-08-15 18:36:04 · 1150 阅读 · 0 评论 -
51 nod 1185 威佐夫游戏 V2(高精度威佐夫博弈)
51Nod - 1185以为威佐夫博弈没有什么坑,但是这个题一直wa威佐夫博弈的坑点在于数比较小的时候在运算时比较对精度要求不大,但是数一大就对精度要求很严格,这道题就是这样,我们需要把小数点后27位存下来,然后模拟乘法运算,用Java更方便一些,c++只能模拟运算,如果用long double的话在第21位开始丢失精度#include<iostream>#includ...原创 2018-08-15 20:58:28 · 246 阅读 · 0 评论 -
博弈刷题--威佐夫博弈及其变形
HDU1527#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#include<set>#include<map>#include<queue>原创 2018-08-15 21:08:08 · 761 阅读 · 0 评论 -
HDU 2147 kiki's game
HDU - 2147这道题可以等效成两堆石子,一堆有n-1个,另一堆有m-1个,每次可以取一堆中的一个或者在两堆中同时取一个,取到最后一个石子的人获胜,很容易画出胜负态的表格一开始样例都过不了,晚上睡不着想这个题,突然想起来忘了n--,m--。。。这道题画出必胜态和必败态的图就可以解出来当max(n, m)为奇数时先手必胜当min(n,m)为奇数时先手必胜其余情况先手必败...原创 2018-08-31 10:32:52 · 113 阅读 · 0 评论 -
SG函数理解
自己学了几天sg,有点拙见,记录一下灵感1.设必败态为P, 必胜态为N2.若某状态的后即状态中存在P,则该状态为N,因为此时先手足够聪明,完全可以把必败态转移给对方3.若某状态的后即状态均为N,则该状态为P,因为此时无论怎样都要把必胜态转移给对方,自己必败4.sg函数由底向上构建,保证后面延续前面的状态5.若某状态为P,则其sg函数值为0(其后继状态中sg函数值均为非0,怎样都要把必胜态拱手相让)...原创 2018-04-01 12:37:30 · 416 阅读 · 0 评论 -
洛谷P1290 欧几里得的游戏(SG函数)
之前看这道题的SG题解一直没懂,最近稍微深入的学习了sg,加上鹏哥昨天晚上的讲解,对sg有了一个全新的认识现在再看大佬的题解就可以明白了,感觉讲的很好,留着以后多看看题目链接转载自:洛谷博弈题看到这题就想到了SG函数那么可以考虑最终情况:一个数是x,另一个是0,那么先手必败(因为上一个人已经得到0了,其实游戏已经结束了)剩下的情况:一个数n, 一个数m,假设n>m那么根据题意,SG(n,m)...转载 2018-04-01 12:13:49 · 248 阅读 · 0 评论 -
SDNUOJ 1253.Problem A. Alice and Bob(nimk博弈)
马后炮来一波,尽管知道是博弈,但是思路全无,因为这次可以对k堆进行任意操作,比完赛之后师哥说是nimk博弈,就百度了一下,没有人提及原理性只是提供做法,和尼姆博弈类似,由于尼姆博弈是对1堆进行任意操作,所以将所有数二进制对应位数相加进行%2(1 + 1)即异或处理,至于涉及到什么原理性问题,能力有限在此不进行深究。。。而对k堆进行操作的话,类似的应该进行%(k + 1)操作,即所有数二进制对应位数...原创 2018-03-31 20:42:39 · 319 阅读 · 0 评论 -
HDU 1527 取石子游戏 +HDU 2177 取(2堆)石子游戏(威佐夫博弈)
突然发现博弈好有意思啊,很神奇的感觉给大家推荐大佬的博客,讲的很详细:威佐夫博弈传送门自己实现了一下这道题,很简单HDU1527重点是这个1.618即(sqrt(5)+1)/2#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<ve...原创 2018-02-13 20:26:08 · 234 阅读 · 0 评论 -
HDU 1850 Being a Good Boy in Spring Festival(尼姆博弈)
附上大佬链接:尼姆博弈详解看完尼姆博弈之后有点懵,第一次用到异或运算做题,找了一道水题做这道题需要想明白一个地方,就是,如果sum是从num[0]到num[n-1]所有数异或之后的结果,sum ^ num[i]就是除去num[i]之外所有数异或的结果,自己也很容易证明吧,证明一下:假设sum1是除去num[i]之外所有数异或的结果,那么有sum = sum1 ^ num[i],因为num[i] ^...原创 2018-02-14 14:00:29 · 237 阅读 · 0 评论 -
HDU 2516 取石子游戏(斐波那契博弈)
HDU - 2516看这道题之前先看看什么叫斐波那契博弈:斐波那契博弈需要知道“Zeckendorf定理”(齐肯多夫定理):任何正整数可以表示为若干个不连续的Fibonacci数之和。总结一下就是如果给定的数是斐波那契数列中的一个,则先手必败,否则先手必胜,没有什么道理的裸题:#include&...原创 2018-02-14 18:10:57 · 209 阅读 · 0 评论 -
博弈类题目小结
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove首先当然要献上一些非常好的学习资料:基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530经典翻硬币游戏小结:http://blog.csdn.net/acm_cxlove/art...转载 2018-02-14 20:10:53 · 435 阅读 · 0 评论 -
尼姆博弈详解
转载自 http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove(三)尼姆博奕(Nimm Game):有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况最有意思,它与二进制有密切关系,我们用(a,b,c)表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对...转载 2018-02-14 20:34:20 · 2571 阅读 · 0 评论 -
HDU 1848 Fibonacci again and again + POJ 2960 S-Nim(SG 函数)
看了一段时间的sg函数,感觉很难受,网上相关的证明太少了(sg定理?),现在只是会用,具体怎么得到的还是不太清楚,要学sg函数必先学尼姆博弈,关于怎么实现,附个链接(没有证明只有实现):SG函数看完之后实现了一下,一道 HDU - 1848,sg函数模板题#include<iostream&...原创 2018-02-20 10:47:29 · 189 阅读 · 0 评论 -
HDU 1907 John (尼姆博弈新理解)
看了大神写的尼姆博弈感觉自己之前学的都没啥用。。大神完完全全的把尼姆博弈所有情况用五个状态表示出来,(图片中对于s2,t2的定义的前半句是对的,后半句不对不用理会,而且为了保证s必胜t必败,应该对调s0和t0的定义,但是大佬就是这么定义的,凑活看吧。。)感觉简直强,所以应用到这道题之中,不难分析抢夺到s1则先手必胜,而s2可以保证抢夺到s1,而且s0也是先手必胜(偶数个孤独堆),对应的t2和t0为...原创 2018-03-29 19:48:19 · 234 阅读 · 0 评论 -
SDNUOJ 1251.G.请回答Alice和Bob
sdnuoj1251题目链接比赛的时候混淆了博弈论的规则,感觉这个题的规则不伦不类的,又像威佐夫博弈又像尼姆博弈的,没想到真的是这个样子,比赛的时候题目中第二个规则的最后一条没有看到,还有就是没有用到素数的提示,导致思路全无,后来自己想的时候,发现可以分开做,即n==2的时候就是威佐夫博弈,当n不等于二的时候,规则像极了尼姆博弈,于是就想,尼姆博弈面对奇异局势之时,即所有数异或结果为0时,此时先手...原创 2018-03-25 20:35:06 · 208 阅读 · 0 评论 -
HDU 1525 Euclid's Game
HDU - 1525这道题先手必胜态有两种确定情况1. n >= 2 * m (n > m) 此时先手不论怎样都可以得到必胜态2. n % m == 0 (n >= m) 这种情况较为简单因此逐步递推得到最终结果#include<iostream>#include<cstring>#include<cstdio>#i...原创 2018-08-29 19:48:15 · 157 阅读 · 0 评论