巴什博弈(定理): 只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。最后取光者得胜。 如果n=m+1,一次最多只能取m个,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,则后者取胜。 取胜的法则 :如果 n=(m+1)r+s,(r为任意自然数,s≤m),那么先取 ...
分类:
其他好文 时间:
2016-08-19 12:52:54
阅读次数:
146
题目大意:一个n(n<=1000)行,20列的棋盘上有一些棋子,两个人下棋,每回合可以把任意一个棋子向右移动到这一行的离这个棋子最近的空格上(注意这里不一定是移动最后一个棋子),不能移动到棋盘外,不能移动了就算输,两个人都用最优策略,问先手是否有必胜策略。 这题显然就是SG函数了吧。行与行之间互不影 ...
分类:
其他好文 时间:
2016-08-14 17:30:42
阅读次数:
112
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5754 题目大意: 4种棋子,象棋中的 1王,2车,3马,4后,选其一,B和G轮流走,不能往左上走,一开始棋子在(1,1),谁先走到(n,m)谁赢,无法走动算平局D。 (n,m<=1000,case<= ...
haze 图论 swt0_0 数学 博弈论 dp 期望 Platypus 字符串 kmp AC自动机 后缀数组 回文树 后缀自动机 待定 计算几何 ...
分类:
其他好文 时间:
2016-08-13 22:32:51
阅读次数:
131
原题链接:点击此处 思路:还是博弈论,可以参考前一篇的博客。 我在看了尼姆博奕之后才明白前一个博客也可以使用异或和的方法判断奇异局势,因为奇异局势的亦或和为0。 因此若当前面对的不是奇异局势,那么我只要令c-a+b即可。故若当c<a+b,那这个可就不能变,那么可以考虑a<c+b.... (异或的规矩 ...
分类:
编程语言 时间:
2016-08-06 17:23:57
阅读次数:
174
原题链接:点击此处 思路: 这道题就是博弈论的运用,有兴趣的可以看看: 组合博弈 -- 三大基本博弈 源代码: #include <iostream> #include <stdio.h> #include <algorithm> #include <cmath> using namespace s ...
分类:
其他好文 时间:
2016-08-06 17:13:06
阅读次数:
158
这个就是博弈论了,反正也是看了我好久的博弈论才开始有点理解的,你需要先把非奇异局势变为奇异局势,这里的公式是 计算机算法里面有一种叫做按位模2加,也叫做异或的运算,我们用符号(+)表示这种运算。这种运算和一般加法不同的一点是1+1=0。先看(1,2,3)的按位模2加的结果: 1 =二进制01 2 = ...
分类:
其他好文 时间:
2016-08-06 09:51:03
阅读次数:
175
这个也是博弈论 这个就是判断公式ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,…,n 方括号表示取整函数) ...
分类:
其他好文 时间:
2016-08-06 09:46:27
阅读次数:
113
传送门
有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。
例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有对应的方法拿到最后1颗。
Input
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <=...
分类:
其他好文 时间:
2016-07-31 20:51:04
阅读次数:
156
威佐夫博弈博弈论 直接模拟即可 值得一提的是这道题几乎网上所有题解都没有考虑只从小堆取得情况 所以在类似 19 20这种数据出现时,他们都是错误的 只输出了 1 2 而没有 12 20 1 #include <cstdio> 2 3 #include <cmath> 4 5 #include <ma ...
分类:
其他好文 时间:
2016-07-24 13:28:24
阅读次数:
162