HDU 2516 取石子游戏 (博弈论)
解题思路:
这题没法用sg直接求了,数据量太大了,而且sg会受上次的影响,所以不一定。
因此,只能打表找规律,找到规律发现如果满足斐波那契数列 f[n]=f[n-1]+f[n-2] 的数列,Second Win 否则 ,First Win...
分类:
其他好文 时间:
2014-07-06 12:42:13
阅读次数:
213
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 邂逅明下 (经典博弈变形)
解题思路:
这题还是运用到了经典的博弈论的核心思想,也就是总共 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
Good Luck in CET-4 Everybody!
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4762 Accepted Submission(s): 3058
Problem Description
...
分类:
其他好文 时间:
2014-07-06 11:50:27
阅读次数:
160
HDU 2149 Public Sale (博弈论经典)
解题思路:
这题运用到了经典的博弈论的核心思想,也就是总共 m 个 ,每次取值范围是 [1,n] ,两个人玩的话,你取1个,我就取N个,你取2个,我就取N-1个....... 每轮总和始终保持N+1,所以考虑对n+1求余即可,这题就用了这个思想。当然也可以通过SG函数来提取必胜和必输状态。...
分类:
其他好文 时间:
2014-07-06 00:06:06
阅读次数:
325
题目链接:uva 10368 - Euclid's Game
题目大意:给出两个数,两个人做一个游戏,每次有stan开始操作,每次操作可以从最大的数中取走若干个小的数,即a-kb,a为比较大的数,b为比较小的数,kb为取走的值,k必须为整数,并且kb≤a。如果不能顺利执行操作,则对手胜利。
解题思路:模拟,直到k的最大值不为1时,当前操作者就掌握了主动权,既可以获胜。特殊情况为a=b的...
分类:
其他好文 时间:
2014-07-03 17:25:46
阅读次数:
198
10368 - Euclid's Game
题目链接
题意:Stan和Ollie玩游戏,有两个数字a,b,每次可以选择较小数字的倍数,把另一个数字-去这个数,要保证>= 0,最后谁那步能得出0谁就赢了,问谁会赢。
思路:其实这个相减的过程就是一个辗转相除的过程,考虑每一次辗转相除,如果只有1倍的数可以减,那么必须到下一步,如果有多步,先手的就有机会选择是自己到下一步或者让对方到下...
分类:
其他好文 时间:
2014-06-27 08:52:30
阅读次数:
886
题目链接:点击打开链接
题意:
给定n
下面n行,每行2个数u v 表示有v堆石子:u,u+1,u+2···u+v-1
问先手必胜还是后手必胜
思路:
首先根据Nim的博弈结论
把所有数都异或一下,看结果是0还是非0
而这里因为数字太多所以想优化
那么其实对于一个序列 u, u+1, u+2 ····
显然 {4,5} {,6,7}, {8,9} 这样2个一组的异或结果就是1
...
分类:
其他好文 时间:
2014-06-26 10:25:50
阅读次数:
176
HDU 1079 Calendar Game (博弈论-sg)
题目大意:
给定日期,轮流来,可以在日期的月上加1,或者在天数上加1 ,如果约数上加1无效,自动转化为在天数上加1,轮流来,问先手是否赢?
解题思路:
这很明显是道博弈题,对于SG的性质定义
必胜态记为P,用数值0表示,当且仅当其后继都是 N,也就是SG()>0
必输态记为N,用数值1表示,当且仅当其后继存在P,也就是SG()=0
对于这题,完全没必要这样用SG去推理,可以结合DP,用记忆化搜索划分为子问题,每一步取对自己最优的。...
分类:
其他好文 时间:
2014-06-22 22:10:22
阅读次数:
253
poj 1079 Calendar Game(博弈论 SG)...
分类:
其他好文 时间:
2014-06-22 21:52:49
阅读次数:
162