摘要: 下面是一个二人小游戏:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。现在我们不想研究到底先手为胜还是为负,我只想问大家:——“先手的人如果想赢,第一步有几种选择呢?” I 阅读全文
posted @ 2019-09-11 23:27 古比 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 尼姆博弈(Nimm Game): 尼姆博弈指的是这样一个博弈游戏:有任意堆物品,每堆物品的个数是任意的,双方轮流从中取物品,每一次只能从一堆物品中取部分或全部物品,最少取一件,取到最后一件物品的人获胜。 结论就是:把每堆物品数全部异或起来,如果得到的值为0,那么先手必败,否则先手必胜。 阅读全文
posted @ 2019-09-11 23:24 古比 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,…,n)表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。 阅读全文
posted @ 2019-09-11 23:03 古比 阅读(106) 评论(0) 推荐(0) 编辑
摘要: (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1 阅读全文
posted @ 2019-09-11 22:48 古比 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<string.h> 5 using namespace std; 6 typedef long long ll; 7 const ll maxn=1e5+ 阅读全文
posted @ 2019-09-11 22:25 古比 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1 #include<cstdio> 2 #include<algorithm> 3 #include<string.h> 4 #include<math.h> 5 #include<queue> 6 #include<iostream> 7 using namespace std; 8 const 阅读全文
posted @ 2019-09-11 19:04 古比 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 裸题,求A^n次后的对角线数字之和 阅读全文
posted @ 2019-09-10 23:47 古比 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 13 using namespace std; 14 int mod; 15 int n; 16 st... 阅读全文
posted @ 2019-09-10 22:57 古比 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 这道题的难点就是构造出这个矩阵 假如是这样的一个式子 F[n]=F[n-2]*2+F[n-1],那就很简单 但是,多了个i^4,这就很难办了。 所以,我们要着重处理的就是这一部分 那么 (n+1)^4 = n^4 + 4n^3 + 6n^2 + 4n + 1 1 ans.a[0][0]=bb%mod 阅读全文
posted @ 2019-09-10 18:38 古比 阅读(237) 评论(0) 推荐(0) 编辑
摘要: // luogu-judger-enable-o2//用矩阵快速幂做斐波那契数列,通常分为4部分;//1.初始化基准矩阵,在这代码里是b矩阵;//2.通过斐波那契公式计算出a矩阵。//3.进行类似快速幂的加速过程;//4.初始答案矩阵的答案;#include<cstdio>#include<algo 阅读全文
posted @ 2019-09-09 22:35 古比 阅读(84) 评论(0) 推荐(0) 编辑