![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
algorithm_博弈
文章平均质量分 76
theArcticOcean
Website: https://www.weiy.city
Wechat Subscription Account: 胡桃小院
展开
-
博弈初识
常见的3种博弈游戏的解决和数字的性质有着密切的联系,数学统治着万物。原创 2015-06-11 12:15:07 · 629 阅读 · 0 评论 -
博弈训练——nim与bash
本文主要记录和nim博弈,bash game的相关问题。题目: hdu 2188 悼念512汶川大地震遇难同胞——选拔志愿者 hdu 2149 Public Sale lightOJ 1253 Misere Nim lightoj 1247 Matrix Game hdu 1517 A Multiplication Gamehdu 2149 Public Sale(bash game)h原创 2016-04-16 20:12:38 · 1075 阅读 · 0 评论 -
sg函数训练——开窍篇
个人觉得,能做一道经典的题并理解透彻,往往比做对难度系数很大的题目更有意义。最近又训练了博弈,记录一些题目,来个小总结。hdu 3032 Nim or not Nim?http://acm.hdu.edu.cn/showproblem.php?pid=3032 大意:和普通的nim游戏相比,这里新添加了一种操作,可以把数字分成更小的两份。 分析: sg[0]=0 当i=1,取走1后剩下0,m原创 2016-04-25 10:23:35 · 814 阅读 · 0 评论 -
UVA 11489 Integer Game(博弈,规律)
题意:给出一段长度不超过1000位的数字, 两个人进行游戏, 分别从数字中去掉某一位数字, 并且去掉之后, 剩下的数字的每一位数相加都是3的倍数, 最后不能取, 或是没有数字了, 就输了. 先手胜利的话就输出"S", 否则输出"T".在中间过程中,取前是满足sum%3=0的,取后也要满足sum%3=0,所以取的数字一定是3的倍数(包含0),这一个步骤可以推广至从第二步到最后一步,第一步则要原创 2015-07-02 10:16:37 · 718 阅读 · 0 评论 -
hdu 2516 取石子游戏(博弈,找规律)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=2516写代码时瞎干,最后得到提示才悔恨当时没有认真研究。。。剩余d=n-kn如果想要赢,必须满足k。所以k-->[1,n/3].各个状态:通过状态分析,可以看出,必败点就是斐波那契数列。#include #includeusing namespace std;int原创 2015-06-12 22:13:11 · 576 阅读 · 0 评论 -
hdu 2176 取(m堆)石子游戏(博弈,异或运算)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=2176这也就是nim game(异或理论)。但是要求出“先取者第1次取子的所有方法. 如果从有a个石子的堆中取若干个后剩下b个后会胜就输出a b”。必须对异或运算有一定认识:#include#include using namespace std;void binary(int n){原创 2015-06-12 15:13:40 · 925 阅读 · 0 评论 -
hdu 2147 kiki's game(博弈,找规律)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=2147找出必胜点,必败点的分布规律,很快求解了。这应该是在hdu中到目前为止写的最短的代码了。。#include #includeusing namespace std;int main(){ int n,m; while(cin>>n>>m&&n&&m){原创 2015-06-12 11:21:23 · 590 阅读 · 0 评论 -
hdu 1846 Brave Game(博弈,bash game)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=1846各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的:1、 本游戏是一个二人游戏;2、 有一堆石子一共有n个;3、 两人轮流进行;4、 每走一步可以取走1…m个石子;5、 最先取光石子的一方为胜;如果游戏的双方使用的都是最优策略,请输出哪个人能赢。原创 2015-06-12 10:57:34 · 495 阅读 · 0 评论 -
博弈训练——sg函数
关于sg函数:Sprague-Grundy定理(SG定理): 游戏和的SG函数等于各个游戏SG函数的Nim和。这样就可以将每一个子游戏分而治之,从而简化了问题。而Bouton定理就是Sprague-Grundy定理在Nim游戏中的直接应用,因为单堆的Nim游戏 SG函数满足 SG(x) = x。 SG函数: 首先定义mex(minimal excludant)运原创 2016-04-16 20:58:42 · 856 阅读 · 0 评论