码迷,mamicode.com
首页 >  
搜索关键字:sg函数    ( 356个结果
UVA 11534 - Say Goodbye to Tic-Tac-Toe(博弈sg函数)
UVA 11534 - Say Goodbye to Tic-Tac-Toe 题目链接 题意:给定一个序列,轮流放XO,要求不能有连续的XX或OO,最后一个放的人赢,问谁赢 思路:sg函数,每一段...看成一个子游戏,利用记忆化求sg值,记忆化的状态要记录下左边和右边是X还是O即可 代码: #include #include const int N = 105;...
分类:数据库   时间:2014-07-18 22:34:57    阅读次数:434
UVA 11927 - Games Are Important(sg函数)
UVA 11927 - Games Are Important 题目链接 题意:给定一个有向图,结点上有一些石头,两人轮流移动石头,看最后谁不能移动就输了,问先手还后手赢 思路:求出每个结点的sg函数,然后偶数个石头结点可以不用考虑,因为对于偶数情况,总步数肯定能保证是偶数,所以只要考虑奇数情况的结点 代码: #include #include #include ...
分类:其他好文   时间:2014-07-18 21:32:27    阅读次数:224
UVA 10561 - Treblecross(博弈SG函数)
UVA 10561 - Treblecross 题目链接 题意:给定一个串,上面有'X'和'.',可以在'.'的位置放X,谁先放出3个'X'就赢了,求先手必胜的策略 思路:SG函数,每个串要是上面有一个X,周围的4个位置就是禁区了(放下去必败),所以可以以X分为几个子游戏去求SG函数的异或和进行判断,至于求策略,就是枚举每个位置就可以了 代码: #include #...
分类:其他好文   时间:2014-07-16 16:42:36    阅读次数:350
UVA 1482 - Playing With Stones(SG打表规律)
UVA 1482 - Playing With Stones 题目链接 题意:给定n堆石头,每次选一堆取至少一个,不超过一半的石子,最后不能取的输,问是否先手必胜 思路:数值很大,无法直接递推sg函数,打出前30项的sg函数找规律 代码: #include #include int t, n; long long num; long long SG(long ...
分类:其他好文   时间:2014-07-16 14:47:36    阅读次数:206
HDU 1847 Good Luck in CET-4 Everybody! (博弈论sg)
HDU 1847 Good Luck in CET-4 Everybody! (博弈论sg) 解题思路: 1、用博弈论sg函数可以解 根据NP图的关系,发现 n%3=0时,Cici赢,否则Kiki赢 2、用DP去解,用dp[n][f] 表示还剩n张牌时,f先走,谁赢。...
分类:其他好文   时间:2014-07-06 12:37:25    阅读次数:154
HDU 1517 A Multiplication Game (博弈-求sg)
HDU 1517 A Multiplication Game (博弈-求sg) 题目大意: Stan 和 Ollie 两个人玩游戏, 一开始数字是 1,两个人轮流,Stan 先手,每个人选择 2~9 里面的一个一直乘以起初的数字,直到某个人乘到 这个数大于等于 n 就算赢,n给定,问你谁必然赢。 解题思路: 这题我没找出SG函数(必胜必输)的规律,只能用DP的方法求出每种状态的必胜必输状态。 2~9 ,依次其实可以用 2 3 5 7 这几个数得到,因此每个状态只需要记录2 3 5 7 这几个数的...
分类:其他好文   时间:2014-07-06 12:16:39    阅读次数:234
HDU 2897 邂逅明下 (经典博弈变形)
HDU 2897 邂逅明下 (经典博弈变形) 解题思路: 这题还是运用到了经典的博弈论的核心思想,也就是总共 n 个 ,每次取值范围是 [p,q] ,两个人玩的话,你取p个,我就取q个,你取p+1个,我就取q-1个....... 每轮总和始终保持p+q,所以考虑对p+q求余即可,这题就用了这个思想。当然也可以通过SG函数来提取必胜和必输状态。 这题还有:小于p个必须取完,其实等于p也必须取完,因为最少取p个, 先特判一下n是否<=p 然后减掉p个,然后求余,但是求余的结果超过q的话不能一次取完。...
分类:其他好文   时间:2014-07-06 11:56:12    阅读次数:160
SG 函数初步 HDU 1536 && HDU 1944
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1944                     http://acm.hdu.edu.cn/showproblem.php?pid=1536 给定每一次可以取的石头数,给定很多种情况,每一种情况有若干堆石头,判断先手胜负。 SG函数打表,然后直接抑或,判断结果是否为0,第一次写SG函数,贴...
分类:其他好文   时间:2014-07-06 10:02:13    阅读次数:196
HDU 3032 Nim or not Nim? (sg函数求解)
HDU 3032 Nim or not Nim? (sg函数求解) 题目大意: Alice和Bob轮流取N堆石子,每堆S[i]个,Alice先,每一次可以从任意一堆中拿走任意个石子,也可以将一堆石子分为两个小堆。先拿完者获胜。(1 ≤ N ≤ 10^6, 1 ≤ S[i] ≤ 2^31 - 1) 解题思路: 对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里的g(x)即sg[x] 例如:取石子问题,有1堆n...
分类:其他好文   时间:2014-07-06 00:44:38    阅读次数:339
HDU 2149 Public Sale (博弈论经典)
HDU 2149 Public Sale (博弈论经典) 解题思路: 这题运用到了经典的博弈论的核心思想,也就是总共 m 个 ,每次取值范围是 [1,n] ,两个人玩的话,你取1个,我就取N个,你取2个,我就取N-1个....... 每轮总和始终保持N+1,所以考虑对n+1求余即可,这题就用了这个思想。当然也可以通过SG函数来提取必胜和必输状态。...
分类:其他好文   时间:2014-07-06 00:06:06    阅读次数:325
356条   上一页 1 ... 32 33 34 35 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!