随笔分类 -  ACM_博弈

摘要:关于无向图删边游戏,首先游戏的规则如下: 然后看下最关键的定理: 叶子节点的 SG 值为 0; 中间节点的 SG 值为它的所有子节点的 SG 值 加 1 后的异或和。 精彩证明: 有了这个定理,这个问题就可以轻松用sg函数搞定了. 然后再来看几个变形. 1. 可以发现,得到两个关键性质,直接就可以转 阅读全文
posted @ 2016-08-13 17:05 chenhuan001 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.sina.com.cn/s/blog_8f06da99010125ol.html 翻硬币游戏 一般的翻硬币游戏的规则是这样的: N 枚硬币排成一排,有的正面朝上,有的反面朝上。我们从左开始对硬币按1 到N 编号。 第一,游戏者根据某些约束翻硬币,但他所翻动的硬币中,最右 阅读全文
posted @ 2016-08-13 16:55 chenhuan001 阅读(445) 评论(0) 推荐(0) 编辑
摘要:先看一个问题 HDU 3595 GG and MM (Every_SG博弈) 题目有N个游戏同时进行,每个游戏有两堆石子,每次从个数多的堆中取走数量小的数量的整数倍的石子。取最后一次的获胜。并且N个游戏同时进行,除非游戏结束,否则必须操作。 现在问题变成了,每次都必须在每个非空石子堆中选择。 这个问 阅读全文
posted @ 2016-08-13 16:53 chenhuan001 阅读(722) 评论(0) 推荐(0) 编辑
摘要:这类博弈只需要记住一点,一个由多个游戏组成的游戏sg值为这多个游戏的sg值异或和。 也就是所有对一整个nim游戏它的sg值即为每一小堆的sg的异或和。 hdu 5795 这题就是可以选择把一堆石子分成3堆。 通过上述方法,只需要打表找出规律即可。 阅读全文
posted @ 2016-08-13 16:41 chenhuan001 阅读(801) 评论(0) 推荐(0) 编辑
摘要:改变了下规则,现在变成了最后拿的人输。 如果对于单纯的nim的话,只需要判断每堆都是1个石子的特殊情况。 因为如果存在有大于1个石子的堆话,类似于nim的取法,处于必胜状态的一方只需要在 对方取完后只剩下一堆>1石子的堆中,选择留下奇数个大小为1的堆或偶数个大小为1的堆。 阅读全文
posted @ 2016-08-12 16:27 chenhuan001 阅读(170) 评论(0) 推荐(0) 编辑
摘要:求处于必胜状态有多少种走法。 if( (g[i]^ans) <= g[i]) num++; //这步判断很巧妙 阅读全文
posted @ 2016-08-12 11:38 chenhuan001 阅读(247) 评论(0) 推荐(0) 编辑
摘要:威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 阅读全文
posted @ 2016-08-04 00:59 chenhuan001 阅读(772) 评论(0) 推荐(0) 编辑
摘要:转自:Sprague-Grundy Function-SG函数--博弈论(3)公平游戏的Sprague-Grundy定理公平游戏是一种双人游戏,在游戏中双方都有完整的信息,没有牵涉,任何状态的合法操作对双方来说都是相同的。一个公平游戏可以抽象地用一个有向无环图来表示,这个图中每个点都对应这一个状态,... 阅读全文
posted @ 2015-12-09 10:15 chenhuan001 阅读(1104) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示