先说说极大极小算法,是指给可能出现的所有状态赋予一个评估值,两个玩家接下通过计算不同下棋策略对应不同的评估值,来决定如何下棋。对于井字棋游戏来说,它的博弈树(各种走法组合形成的树)如下: MAX下X,MIN下O,直到到达了树的终止状态即一位棋手占领一行,一列、一对角线或所有方格都被填满。Utilit ...
分类:
编程语言 时间:
2018-09-04 11:46:10
阅读次数:
263
可以说成是树上的NIM游戏嘛 POJ3710 再树上删边,树是带环的,然后基本题意还是和NIM游戏一致 按环分类讨论,如果是奇数环 所有后继SG值都会是偶数,所以这个状态SG为1 把环缩成一个点+1条边 如果是偶数环,那么后继SG非0,此环SG=1,就将环缩为1个点 对于环,利用tarjan+栈预处 ...
分类:
其他好文 时间:
2018-09-03 19:31:38
阅读次数:
368
题意:有N堆石子(N为大数),每堆的个数按一定方式生成,问先手取若干堆进行尼姆博弈,必胜的方式有多少种。 题解:因为 k < 4096,所以出现的数最多只有4096个,对每个数字只考虑出现奇/偶次进行dp,答案是所有不等于0的dp值的和。然后如果一个数字出现x次,它对自己出现奇数次的方案数和偶数次的 ...
分类:
其他好文 时间:
2018-09-02 15:04:03
阅读次数:
269
[HEOI2014] 人人尽说江南好 题目大意 :一个博弈游戏,地上$n$堆石子,每堆石子有$1$个,每次可以合并任意两个石子堆$a,b$,要求$a + b include define sc(x) scanf("%d", &x) using namespace std; int main(){ i ...
分类:
其他好文 时间:
2018-09-02 11:09:26
阅读次数:
212
谁能赢呢? 题目大意 :这是一个博弈游戏,两人轮流移动一个摆放在$n\times n$棋盘左上角的棋子,可以向上下左右的格子移动,不可以移动到已经走过的格子上,问先后手输赢 Solution 用骨牌覆盖的思想去考虑,如果$n$是偶数,一定可以被$1\times2$的骨牌完全覆盖,那么先手必赢,如果$ ...
分类:
其他好文 时间:
2018-09-02 11:03:27
阅读次数:
122
这道题也是一个博弈论 根据一个性质 对于\( Nim \)游戏,即双方可以任取石子的游戏,\( SG(x) = x \) 所以直接读入后异或起来输出就好了 代码 ...
分类:
其他好文 时间:
2018-09-01 15:59:00
阅读次数:
111
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly23.html 故事 我太菜了 A题本来2分20秒干掉的,sb 360 把我代码编译的可执行文件的运行拦截了。 B题暴露了我对博弈论一窍不通的事实,连那个基本定理我都不知道,看这A ...
分类:
其他好文 时间:
2018-09-01 00:02:19
阅读次数:
203
John Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 6000 Accepted Submission(s): 3486 Problem De ...
分类:
其他好文 时间:
2018-08-30 10:59:07
阅读次数:
185
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15279 Accepted Submission(s): 10446 Pr ...
分类:
其他好文 时间:
2018-08-30 10:58:27
阅读次数:
125
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8159 Accepted Submission(s): 4950 Problem D ...
分类:
其他好文 时间:
2018-08-30 10:56:13
阅读次数:
142