acm 博弈
春江听雨
IT码农,从事互联网,大数据领域
展开
-
hdu 1847 (巴什博弈)
首先我们可以想到在面对3的时候是必败局,谁面对3时无论拿多少都会败 ! 那么就要尽量造成这样的局势给对方,因为任何不是3的倍数的数加1或2都可以变成3的倍数,同理减去1或2也可以变成3的倍数,也就是说假设目前的个数不是3的倍数,那我肯定能把它拿成3的倍数,比如现在是1原创 2011-09-25 21:36:15 · 761 阅读 · 0 评论 -
取石子游戏(hdu 2516)
这个游戏的一种版本是这个样子的:桌子上有若干个石子,两人轮流取。第一个人可以取走任意多个,但至少取走一个,至少留有一个。此后的过程中,必须取走一个,但不得超过对手上次取走的两倍。拿到最后一个石子的赢得游戏。好了,看起来似乎很简单,因为它和这个很像:桌子上有若干个石子,原创 2011-09-25 19:40:36 · 1826 阅读 · 0 评论 -
博弈入门
有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。 (一)巴什博转载 2011-09-30 12:52:37 · 412 阅读 · 0 评论 -
hdu 1907/2509 (Nim 游戏变种)
这两题都是 Nim 游戏的变种。设第i堆的石子数位 Ai, SUM = A1 xor A2 xor... xor An 。设 SUM 非零为 S 态, SUM = 0 为 T 态。自己刚开始以为只要保持 SUM = 1 即可。但证明发现,当 SUM = 0 时,也即为 T原创 2011-10-01 22:02:41 · 951 阅读 · 0 评论 -
hdu 1536 (S-Nim) SG解法
这题折腾了好久,一直不知道怎么求解SG,感觉用递归的方法会超时,最后看代码,采用记忆某些已知的SG的方式,递归求解。其中还爆内存两次,是因为递归中的数组空间开辟过大,递归层次多了,很容易爆的。code:#include #include using namespace原创 2011-10-03 17:59:47 · 1152 阅读 · 0 评论 -
QS2算法求解N-皇后问题
这些天逛论坛,忽然发现可以用QS2算法求解N-皇后问题,而且效果比较好。之前学《人工智能》曾经用爬山法解决过,但当N上千时,效果很差。论坛里介绍QS2算法效果很好。自己便按照楼主给的思路和伪代码写了一遍,果然很厉害啊。在此先赞一个。(以下蓝色部分来自论坛楼主帖子) 8皇后问题是一个广为人知的问题:将8个皇后放在8×8的棋盘上,皇后之间不能互相攻击,求各种放法。更一般的,把原创 2012-01-05 14:28:16 · 3265 阅读 · 1 评论 -
N皇后问题 - 使用随机爬山法实现其快速解法
N皇后问题是一个经典的问题,在很多地方都有讨论过。回溯法是经典的解法,但是随着N的增大,其复杂度的增加呈指数增长,如果N=100使用回溯解法的话,回溯要运行的时间估计你可以去喝一壶茶了。这段时间在看《人工智能》,里面也有对其的讨论,介绍了爬山法在N皇后问题中的应用。爬山法是一种向值增加的方向持续移动到简单循环过程,它将会在到达一个“峰顶”时终止,此时相邻状态中没有比该它更高的值。这个算法不转载 2012-01-05 14:09:03 · 7733 阅读 · 0 评论