『有些东西去学习只是因为喜欢而已,而有些东西学习却是因为需要,但是不管是那种如果去学,就好好学吧』
最近刚刚接触博弈题,题目慢慢积累中...
这边推荐一篇论文 : http://download.csdn.net/detail/u010619381/6427245 (《博弈-由感性认识到理性认识》张一飞)
HDOJ-1564 Play a game
思路 :先手赢的必胜状态是和n的奇偶有关,n是奇数先手输,n是偶数先手赢。
HDOJ-1846 Brave Game
思路:经典巴什博弈 先手输的状态是n % (m+1) == 0
HDOJ-1847 Good Luck in CET-4 Everybody!
思路 : 暴力找规律,会发现先手输的状态是n % 3 == 0
HDOJ-2147 kiki's game
思路 :暴力找规律,发现当且仅当n和m都是奇数的时候先手输
HDOJ-2516取石子游戏
思路 : 记忆话搜索去搜前几项,然后你会得到当n = 1 ,2 ,3,5,8,13...的时候先手输,即当n 为斐波那契数的时候先手输,然后打印出一张斐波那契数表比对下n即可。
HDOJ-1527 取石子游戏
和上面一题不同,这题是经典的威佐夫博弈,先手输的状态是 :a == (int )((b-a) * (1+sqrt(5)))/2 (a < b)
关于威佐夫博弈网上相关介绍很多,这边给个链接吧 Click Here
HDOJ-2897 邂逅明下
巴什博弈改编的,多给了一个下界(经典巴什下界为1),但其实稍微推几项就发现他的先手必败状态范围只是扩大了而已 :[1,a]先手输,[a+1,b]先手赢,然后循环下去...
下面几题是LightOJ 上Nim分类里面的题目。
LightOJ 1186 Incredible Chess
棋盘上每一列有黑白两个棋子,然后可以上下走任意步数,不能跳跃,只要想清楚下决胜策略就可以转换为Nim做,把每一列两个棋子间隔的数量看成每一堆的石子。
LightOJ 1192 Left Right
Nim...原理类似上面一题
LightOJ 1247 Matrix Game
每一行的总和看成每一堆的石子数量
LightOJ 1253 Misere Nim
反Nim,注意下如果全部是1的话异或结果是0的情况下先手才赢,不是全1的话桶普通Nim, 具体原因还没搞明白 : (
学习中...
【未完待续...】