博弈论
pbihao
这个作者很懒,什么都没留下…
展开
-
【洛谷 1290】 欧几里德的游戏 博弈论
对于任意状态(x,y)如果x>=2*y则先手必胜。原因很简单,假设m=x%y,如果(y,m)是必胜状态,则先手只用取到y+m,由于yx>y只有一种决策,就是取y个,但是时间复杂度已经可以很轻松的承受了#include#include#include#define LL unsigned long long#define sswap(a,b) (a^=b^=a^=b)using n原创 2016-11-14 10:21:06 · 471 阅读 · 0 评论 -
【BZOJ 2318】Spoj4060 game with probability Problem 概率
什么也不说了,%http://blog.csdn.net/Vmurder/article/details/46467899#include#include#includeusing namespace std;int T,n;double f[1050],g[1050];double p,q;int main(){ scanf("%d",&T); while(T--原创 2017-01-04 17:50:24 · 214 阅读 · 0 评论 -
【BZOJ 1299】[LLH邀请赛]巧克力棒 博弈论
自己想了一个方法:只要能找到一段子序列的xor和为0,那么先手必胜。原因:情况一:除了这一段子序列,其他任意子序列的xor和都不为0,那么很显然,先手只需要把这一段选出来以后,后手如果选择吃,那么是必败态,而如果选择拿,那么留给先手的一定是必胜态。情况二:还有其他的序列xor和为0,那么先手只需要在拿上一段子序列的时候连同这一部分拿了就好了,然后变成情况一。情况三:没有xor和为0原创 2017-01-14 22:29:59 · 261 阅读 · 0 评论 -
【BZOJ 1115】[POI2009]石子游戏Kam 阶梯nim游戏
阶梯nim游戏:在阶梯上每一个阶梯上都是有石子,每一个人轮流选择一个阶梯将上面的任意个石子推向下一级阶梯。解法:只考虑奇数阶梯上面的石子,每一次将奇数上面的石子推向偶数级阶梯,就相当于在奇数级阶梯上取走任意个石子,询问是否有必胜状态就相当于只在奇数阶梯上做nim游戏。而至于偶数上面的石子可以这么考虑,如果对手将一些偶数上面的石子推到了奇数上面来,这一轮自己同样可以将那些被推到奇数级上的阶梯原创 2017-03-20 16:41:22 · 350 阅读 · 0 评论 -
【BZOJ 3729】Gty的游戏 splay+dfs序+阶梯NIM
其实就是几个东西搞在一起1.允许加入一个节点:splay维护dfs序即可2.每次只能向上移动不超过L个石子:对于一般的NIM游戏并没有这个限制,但是其实只要画一画就可以发现假设我们有一堆石子数为n的石子,每次最多取走L个,那么对于每一堆的sg函数的值就是n%(L+1)3.每一次只能向上移到父亲处:阶梯NIM游戏,我在之前一篇博客讲到过,只用异或上奇数的阶梯即可有了上面一些东西就可以原创 2017-03-28 09:03:46 · 304 阅读 · 0 评论