博弈论
zzti_xiaowei
xxx
展开
-
51nod-1069 Nim游戏
Nim游戏证明参见: 刘汝佳训练指南P135—写的很酷! 知乎上SimonS关于Nim博弈的回答! #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int Max_n=1100; int n; i...原创 2018-12-04 10:51:20 · 201 阅读 · 0 评论 -
LA-5059 Playing With Stones
小笨蛋加油,努力努力再努力,一步一步又一步,略~~ 李汝佳训练指南P137 很不错的SG打表找规律,可惜太笨了,没有找到。 当n为偶数,SG(n)=n/2;当n为奇数,SG(n)=SG(n/2),有意思! #include<iostream> #include<cstdio> #include<cstring> #include<algorithm>...原创 2018-12-08 00:08:51 · 120 阅读 · 0 评论 -
博弈入门(Bash/Wythoff/Nim)
1.Bash(巴什博弈) 有一堆石子共有n个。AB两个人轮流拿,A先拿。每次最少拿1颗,最多拿m颗,最后取完者获胜。 取胜策略:拿掉部分物品,使对方面临看k(m+1)的局面。 void solve(int n,int m){ //n%(m+1)!=0则先手赢,反之后手赢 printf("%c\n",n%(m+1)?'A':'B'); } 2.Wythoff(威佐夫博弈) 有2堆石...原创 2018-12-05 22:25:22 · 180 阅读 · 0 评论 -
1185-威佐夫游戏 V2
经典博弈题,比V1数据范围大了很多,像V1一样单纯改变n的数据类型,运算时会因为误失精度而WA掉。通过乘法模拟精度得到解决(很不错的思路,模拟很优雅~)。 参见博客 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm&g...原创 2018-12-13 17:34:30 · 177 阅读 · 0 评论 -
51nod-Bash游戏 V1V2V3V4
1066 Bash游戏 //自己小数据手推一下,可以找到规律的。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int t,n,m; void solve(int n,int m){ printf...原创 2018-12-13 18:50:14 · 243 阅读 · 0 评论 -
Uva-11859 Division Game
题解详见刘汝佳--训练指南P136写的超级详细了,在此贴个预处理代码。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int Max_n=1e4+10; int T,n,m; int cnt[M...原创 2018-12-07 12:58:55 · 209 阅读 · 0 评论 -
Nyoj 取石子游戏(博弈专题)
23-取石子(一) #include&amp;amp;amp;lt;iostream&amp;amp;amp;gt; #include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt; #include&amp;amp;amp;lt;cstring&amp;amp;amp;gt; #include&amp;amp;amp;lt;algorithm&原创 2018-12-10 21:36:32 · 341 阅读 · 0 评论