码迷,mamicode.com
首页 >  
搜索关键字:laskers nim    ( 2819个结果
HDU 3032 (Nim博弈变形) Nim or not Nim?
博弈的题目,打表找规律还是相当有用的一个技巧。这个游戏在原始的Nim游戏基础上又新加了一个操作,就是游戏者可以将一堆分成两堆。这个SG函数值是多少并不明显,还是用记忆花搜索的方式打个表,规律就相当显然了。 1 #include 2 #include 3 4 const int maxn = 1...
分类:其他好文   时间:2015-04-21 14:16:41    阅读次数:131
HDU 1850 (Nim博弈 取胜方案数) Being a Good Boy in Spring Festival
考虑到Bouton定理的证明过程,设n个数的Nim和(异或和)为X,其最高位的1在第k位,那么n个数中一定有个y的第k为也是个1.将y的数量变为X xor y,那么n的数的Nim和为0,便转为先手必败局面。所以先手有多少种取法,就看n个数里面有多少个y,满足二进制的第k为是个1。 1 #includ...
分类:编程语言   时间:2015-04-11 20:37:06    阅读次数:189
hdu1730Northcott Game NIM博弈
//必胜局面是所有的黑子和白子都相邻, //本题想要达到黑子和白子之间都相邻,即走完它们之间的所有空格 //就相当于一个NIM博弈 #include #include #include using namespace std ; int main() {    // freopen("in.txt","r",stdin) ;     int n , m ;     int t...
分类:其他好文   时间:2015-04-11 14:54:50    阅读次数:111
hdu1850Being a Good Boy in Spring Festival NiM博弈
//当该点时p-position时,先手输 //当该点为n-position时,即a1^a2......^an = k时; //先手的第一步是使得a1^a2^.......^an^k = 0; //那么只要ai^k #include #include #include using namespace std ; const int maxn = 10000010 ; int n...
分类:编程语言   时间:2015-04-10 09:41:33    阅读次数:157
poj 3480 John anti-SG博弈
题意: 跟经典的nim除了胜利条件不一样(nim当游戏者面对空的决策集判负,anti-SG当游戏者面对空的决策集判负),其他都一样。 分析: 设全局状态为s,单个游戏为t。先手必胜条件:(g(s)!=0&&Existg(t)>1)||(g(s)==0&&Anyg(t) 代码: //poj 3480 //sep9 #include using namespace std; int ma...
分类:其他好文   时间:2015-04-09 19:51:38    阅读次数:213
ZOJ 3591 Nim (连续子序列异或和)
题目链接:ZOJ 3591 Nim 题意:根据题目给出的代码得到n堆石头的各自的数量,求先手选出连续的若干堆并且必胜的方法数。(比如:3,1,1 每堆石头数是1,1,1.先手选出(1),(1),(1),(1,1,1) 这四种方案是必胜的,所以答案是4) 思路:在n堆取石头首先想到的是Nim博弈,连续的若干堆,即求连续子序列异或和为0的数量m,n*(n+1)/2-m就是答案 (Nim博弈结论,...
分类:其他好文   时间:2015-04-09 09:03:59    阅读次数:136
ZOJ 3591 Nim 前缀和+位运算
题意:通过他给的代码,跑出 n个数a【i】。 然后取任意多个连续的数,让他们 异或操作。 计算有多少种取法,使操作后结果为0. 做法:连续就想到了前缀和。 把前i个a的异或操作结果放在 num[i]中, 那么a【i】到a【j】个数的异或结果就是 num[j]^num[i-1]。 还有num【i】自身代表了开头到a【i】这些数的异或结果。 然后只要计算有多少num【i】为0,以及多少 num[j]^num[i-1] 为0就行了。再把总方案数 c(n,2)减去为0的个数,就是答案了。但是普通...
分类:其他好文   时间:2015-04-07 21:44:43    阅读次数:231
[BZOJ1299]巧克力棒(博弈论)
题目:http://hzwer.com/1976.html分析:先Orz hzwer对于盒子外面的巧克力棒,就是Nim游戏。所以就很容易想到先手第一步最好从盒子中取出m根巧克力棒,使得这些巧克力棒的异或和为0,并且盒子中剩余的巧克力棒无论如何取出来都不能得到异或和为0(其实m就是所有巧克力棒的最长异...
分类:其他好文   时间:2015-04-07 00:28:19    阅读次数:161
Nim语言OOP
声明一个struct:type Vector2D* = object x*, y*: float32名字后面带星号就是对module外public, 不带星号就是private.要创建一个Vector2D: vec = Vector2D(x: 0, y: 0)object前加上r...
分类:编程语言   时间:2015-04-04 19:40:17    阅读次数:1540
poj 2975 Nim 尼姆博弈,求取胜方案数
Nim is a 2-player game featuring several piles of stones. Players alternate turns, and on his/her turn, a player’s move consists of removing one or more stones from any single pile. Play ends when all the stones have been removed, at which point the last p...
分类:其他好文   时间:2015-04-01 15:21:45    阅读次数:197
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!