hdu_1907:John(Nim变形)】的更多相关文章

基本的树上删边游戏 写过很多遍了 /** @Date : 2017-10-13 18:19:37 * @FileName: HDU 3094 树上删边 NIM变形.cpp * @Platform: Windows * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : $Id$ */ #include <bits/stdc++.h> #define LL long long #d…
题目链接 仍是取石子,不过取到最后一个的败 参考链接:http://www.voidcn.com/blog/liwen_7/article/p-3341825.html 简单一句话就是T2 S0必败 #include<bits/stdc++.h> using namespace std; int main() { int T;scanf("%d",&T); while(T--) { int n;scanf("%d",&n); ; bool…
John Problem Description   Little John is playing very funny game with his younger brother. There is one big box filled with M&Ms of different colors. At first John has to eat several M&Ms of the same color. Then his opponent has to make a turn. A…
LINK 题意:n堆石子,Alice 和 Bob 轮流取石子,谁不能再取或被对方取完为败.但是对于alice拥有限制:b=0此堆正常无限制:b=1此堆Alice只能取奇数个石子:b=2只能取偶数个石子 思路:一看就知道是个NIM的变形题,现在想做这题的思路应当是讨论奇偶个石子且分别在奇数偶数限制下的胜负状况. 很容易能看出当有两堆以上的限制堆时(a=1 b=1不算限制)显然是Alice必败,这是最重要的条件,可以避免大量的推导. 再者讨论b=1的情况: 如果a为偶数,显然该堆可被Bob保证不被A…
LINK 题意:两人在一颗树上做游戏,先手可以将树上一个节点染白,后手染黑,到最后时,所有与黑色相邻的白色同时变黑.如果还存在白色,先手胜,否则后手胜. 思路:首先不考虑树上,单独为链时,不管找规律也好,还是直接异或值推导都能轻易得出.那么考虑拥有子树的节点,其胜败条件为所有子树的胜负局面的异或值. 那么关键是在树上进行转移,所以就是个简单的树形DP了,比赛时写了半天DFS没写出来.. /** @Date : 2017-05-06 21:02:21 * @FileName: D.cpp * @P…
阶梯博弈原理参考:http://www.cnblogs.com/jiangjing/p/3849284.html 这题计算每两个之间的间隔就行了,如果是奇数个就把第一个前面的看作一个,偶数个就是两个点之间的间隔 m==1的时候特判,因为能一步就胜,m==2的情况第一个间隔要加1,因为当第一个间隔为0的时候,此时就是必胜态 #include<map> #include<set> #include<cmath> #include<queue> #include&…
http://acm.hdu.edu.cn/showproblem.php?pid=4388 Nim变形,对一个\(n\)个石子的堆,每次取\(k(0<k<n)\)个(注意不能全取光),同时要保证\(n\oplus k<n\),并添加一堆新的大小为\(n\oplus k\)的石子. 同时每个人在整个游戏中还有一次机会把添加的大小为\(n\oplus k\)的石子改为\(n\oplus (2k)\)个石子,同样是不能操作的输,两个人采取最优策略. 初步想法 一般性地,我们还是先不管\(n\…
1.HDU 1907 2.题意:n堆糖,两人轮流,每次从任意一堆中至少取一个,最后取光者输. 3.总结:有点变形的Nim,还是不太明白,盗用一下学长的分析吧 传送门 分析:经典的Nim博弈的一点变形.设糖果数为1的叫孤独堆,糖果数大于1的叫充裕堆,设状态S0:a1^a2^..an!=0&&充裕堆=0,则先手必败(奇数个为1的堆,先手必败).S1:充裕堆=1,则先手必胜(若剩下的n-1个孤独堆个数为奇数个,那么将那个充裕堆全部拿掉,否则将那个充裕堆拿得只剩一个,这样的话先手必胜).T0:a1…
NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结 经典NIM游戏: 一共有N堆石子,编号1..n,第i堆中有个a[i]个石子. 每一次操作Alice和Bob可以从任意一堆石子中取出任意数量的石子,至少取一颗,至多取出这一堆剩下的所有石子. 两个人轮流行动,取走最后一个的人胜利.Alice为先手. 我们定义: P:表示当前局面下先手必败 N:表示当前局面下先手必胜 N,P状态的转移满足如下性质: 1.合法操作集合为空的局面为P 2.可以移动到P的局面为N,这个很好理解,以为只要能转换到P局面…
1.HDU 2509  2.题意:n堆苹果,两个人轮流,每次从一堆中取连续的多个,至少取一个,最后取光者败. 3.总结:Nim博弈的变形,还是不知道怎么分析,,,,看了大牛的博客. 传送门 首先给出结论:先手胜当且仅当(1)所有堆石子数都为1且游戏的SG值为0,(2)存在某堆石子数大于1且游戏的SG值不为0.证明:(1)若所有堆石子数都为1且SG值为0,则共有偶数堆石子,故先手胜.(2) i)只有一堆石子数大于1时,我们总可以对该堆石子操作,使操作后石子堆数为奇数且所有堆得石子数均为1 ii)有…