随笔分类 - 算法 - 博弈论
摘要:hdu1848 Fibonacci again and again 题意 有三堆石子,数量都不超过1000,两人轮流取石子,每次取的石子个数只能是斐波那契数列的元素值,判断胜败 题解 计算出斐波那契数列,SG函数打表 #include<iostream> #include<cstdio> #
阅读全文
摘要:SG函数 mex运算:mex运算是一个施加于集合的运算,表示最小的不属于这个集合的非负整数。例如mex0,1,3=2,mex1=0,mex=0 SG函数:对于任意状态x,SG(x)=mex(SG(y)|$$y$是$x$的后继状态$) 当SG(x)==0时$
阅读全文
摘要:###巴什博弈 有n个石子,两个人轮流取石子,每次只能取[1,m]个,没有石子可取的一方失败,判断胜败 判断方法 r=n,r不为零,先手胜,r为零,后手胜 ###威佐夫博弈 有两堆石子,每个人轮流从任意一堆中取出至少一个或者同时从两堆中取出同样多个石子,没有石子可
阅读全文
摘要:具有胜败游戏的基础 通过分析各个状态的胜败条件,判断必胜态和必败态,是具有胜败游戏的基础。 首先判断最终状态的胜败(比如两人轮流取硬币,没有硬币可取的一方失败,则硬币数x==0为必败态) 如果某个状态的后继状态中存在必败态,则这个状态为必胜态 如果某个状态的后继状态全部为必胜态,则这个状态为必败
阅读全文