![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
博弈
文章平均质量分 72
ElephantFlySong
这个作者很懒,什么都没留下…
展开
-
HDU1846(博弈论,Brave Game)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1846巴什博奕,可以用对抗搜索,也可以用数学方法来解决。所谓对抗搜索,其实是一种记忆化搜索,下面给出对抗搜索的模板:bool dfs(当前状态) //判断当前状态是否是必胜状态{ if (当前状态已经搜索过) return 搜索结果; if (当前状态已经是末状态或者已经可以判原创 2016-08-12 19:55:26 · 234 阅读 · 0 评论 -
日期游戏解题报告(对抗搜索的典型运用)
题目链接:http://acm.qust.edu.cn/problem.php?id=1005典型的对抗搜索(对抗搜索是一种记忆化搜索,属于博弈论的范畴,若要了解更多关于对抗搜索的知识,请阅读刘汝佳的《算法竞赛入门经典训练指南》P400)。用f[y][m][d]表示在y 年 m 月d 日状态下,该操作者是否有必胜策略,g[y][m][d] 表示这一状态是否已经计算过。对于当前状态,搜索其下一状原创 2015-11-15 16:24:53 · 988 阅读 · 0 评论 -
HDU1527(博弈论,取石子游戏)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1527威佐夫博弈:设k为任意正整数,有以下两个函数:1、m(k) = k * (1 + sqrt(5)) / 2;2、n(k) = m(k) + k;点(m(k), n(k))和点(n(k), m(k))都是P点(必败点),其余都是N点(必胜点)。详见:http://bl原创 2016-08-12 19:33:41 · 322 阅读 · 0 评论 -
博弈总结
Bash's Game(巴什博弈)【描述】只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取1个,最多取m个,最后取光者得胜。【策略】如果 n = (m + 1) * r + s ,(r为任意自然数,s≤m),即n%(m+1) != 0,则先取者肯定获胜。因为,如果n=(m+1)r + s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取原创 2016-08-12 19:32:42 · 456 阅读 · 0 评论 -
SG函数的一个典型应用
【描述】2人玩的游戏,一个p*1的棋盘和红、绿、蓝三种棋子,棋子的大小分别是c*1、z*1和n*1,每种颜色的棋子个数无限。两人轮流摆放棋子,规则是:棋子不得超出棋盘范围;棋子不能有任何部分重叠;如果哪个人没有棋子可放,即算输。判断先手是否有必胜策略。【输入】第一行是正整数c、z和n,都不超过1000。第二行是m,表示棋盘种类。接下来的m行,每行一个正整数p。m和p都不原创 2016-08-12 21:38:31 · 374 阅读 · 0 评论 -
山东省第七届ACM大学生程序设计竞赛Triple Nim
题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3566.html把N分解成三个数相加,并且三个数亦或为0,且三个数不能为0。首先奇数的方案数为0;考虑N的二进制表示,要亦或的0,那么最高位的1要分解成低一位的两个1,同理,N中的每个1都要分解成低一位的两个1,所以会有3^num(n原创 2016-10-10 12:05:31 · 680 阅读 · 0 评论 -
51nod1070(Bash游戏V4)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1070打表找规律:N在斐波那契数列中,B赢;不在,A赢。#include using namespace std;typedef long long LL;const int maxn = 1e9;LL f[50];int main(原创 2017-07-30 15:01:00 · 245 阅读 · 0 评论