hdu 1536(博弈)】的更多相关文章

S-Nim HDU 1536 博弈 sg函数 题意 首先输入K,表示一个集合的大小,之后输入集合,表示对于这对石子只能去这个集合中的元素的个数,之后输入 一个m表示接下来对于这个集合要进行m次询问,之后m行,每行输入一个n表示有n个堆,每堆有n1个石子,问这一行所表示的状态是赢还是输,如果赢输入W否则L. 解题思路 如果没有每次取石子个数的限制的话,那么仅仅需要把每堆石子的个数进行异或运算即可,如果结果不是1,那么先手赢,反之后手赢. 但是这里对每次取石子的个数进行了限制,每次只能从几个数中进行…
题意:每次可以选择n种操作,玩m次,问谁必胜.c堆,每堆数量告诉. 题意:sg—NIM系列博弈模板题 把每堆看成一个点,求该点的sg值,异或每堆sg值. 将多维转化成一维,性质与原始NIM博弈一样. // #pragma comment(linker, "/STACK:1024000000,1024000000") #include <iostream> #include <cstdio> #include <cstring> #include &l…
S-Nim Problem Description   Arthur and his sister Caroll have been playing a game called Nim for some time now. Nim is played as follows: The starting position has a number of heaps, all containing some, not necessarily equal, number of beads. The pl…
传送门:S-Nim 题意:给n个数的集合s, 再给m 组数据,每组表示 k 堆石子,每次可以取的个数只能是集合s中的数量.问先手胜还是输? 分析:sg函数的经典运用,先预处理出所有数量为0~10000的石子的sg值,然后判断k堆石子的sg值异或和是否为0来判断先手的输赢. #include <cstdio> #include <cstring> #include <algorithm> #define N 110 using namespace std; int n,m…
http://acm.hdu.edu.cn/showproblem.php?pid=1536 http://acm.hdu.edu.cn/showproblem.php?pid=1944 一样的题 题意:先给一个集合,代表可能发生的转移.然后m个询问,可以理解为每次给l堆石子,每堆有hi个,问博弈策略 直接用sg定理,非常简单,转移给的清清楚楚,照着写就行,递推或者记忆化搜索都行. 这题的时间卡的紧,开始死活过不了,看别人代码把vis数组开成100就过了(原来开的1w),深感此题有问题,sg的值…
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7410 Accepted Submission(s): 3127 Problem Description Arthur and his sister Caroll have been playing a game called Nim for some time now. Nim is pla…
题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=1944 pid=1536"> http://acm.hdu.edu.cn/showproblem.php?pid=1536 给定每一次能够取的石头数,给定非常多种情况,每一种情况有若干堆石头,推断先手胜负. SG函数打表,然后直接抑或.推断结果是否为0.第一次写SG函数,贴个代码,慢慢理解. 代码: /* ********************************************…
http://acm.hdu.edu.cn/showproblem.php?pid=5996 博弈论待补. 这题变化了一下,因为注意到奇数层的东西(层数从1开始),对手可以模仿地动,那就相当于没动. 比如从第5层,我选择去了第4,他去第3,我去2,他去1,结果还是到我.所以只需要把偶数层的东西,拿出来, 就是n个石头的博弈了. 异或起来,判断是否等于0,就可以了.博弈论好差,寒假补. #include <cstdio> #include <cstdlib> #include <…
F - 6 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4994 Description Nim is a mathematical game of strategy in which two players take turns removing objects from distinct heaps. On each turn,…
A - 无聊的游戏 HDU - 1525 疫情当下,有两个很无聊的人,小A和小B,准备玩一个游戏,玩法是这样的,从两个自然数开始比赛.第一个玩家小A从两个数字中的较大者减去两个数字中较小者的任何正倍数,前提是得到的数字必须是非负的.然后,第二个玩家小B对得到的两个数字做同样的处理,两个玩家交替进行,直到一个玩家能够从大的数字中减去较小数字的倍数,达到0,从而获胜.例如,玩家可以从(25,7)开始: 25 7 11 7 4 7 4 3 1 3 1 0 这是个 小A 获胜的例子. Input 多组输…