博弈——巴什博弈(hdu1846,2188,2897)
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1846
http://acm.hdu.edu.cn/showproblem.php?pid=2188
http://acm.hdu.edu.cn/showproblem.php?pid=2897
题目描述:巴什博弈,未接触博弈论的同学可能没听说过,但是根据其原理演变的一些小游戏(取石子,数三十)大家应该不陌生,也应该知道其规律。
一、假设两个人从1到30数数字,每次只能数1、2、3。数到三十者为胜。如果让你先数,你会怎样数呢?
如果我们从前往后去想,的确很难想象到怎样解决。但是如果从后往前考虑,不难发现解决的方法。
假设我要数到30,那么当对方 最后一个数字数27,28,29时,我取对应的3,2,1即可。那么也就是我只要数到26即可保证我后续的胜利,在26这个点
即为此次博弈的必胜态。
因此,我们大概可以推出其规律,f(30)的胜败状态, 完全等于f(26),那么f(26)又完全等于f(22)……
想必你已经知道该如何解决这样的问题了吧。
其实这就是博弈论的主要思维,我不一定要搜索到所有状态的最底层,如果其上级能够完全代表当前状态的话,那么就没必要再深入的去计算。
例:1846的代码,2188,2897等与其相同
#include<stdio.h>
int main()
{int c,n,m;scanf("%d",&c);while(c--){scanf("%d%d",&n,&m);if(n%(m+1)==0)printf("second\n");elseprintf("first\n");}
return 0;
}
看起来很简单吧?不过这个思想会运用人工智能、机器学习等很多深入的领域当中。
博弈——巴什博弈(hdu1846,2188,2897)相关推荐
- 三种经典博弈(巴什博弈,威佐夫博奕,尼姆博奕)
前言: 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等 均可.两个人轮流从堆中取物体若干,规定最后取光物体者取胜.这是我国民间 很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的 ...
- 博弈-巴什博弈-P/N图
P:必败点.前一个(Previous player)选手将取胜的位置. N:必胜点.下一个(Next player)选手将取胜的位置. 必败(必胜)点的性质: 1.所有终结点必是必败点(P): 2.从 ...
- 浅谈博弈论之巴什博弈
博弈 博弈这个词看着就高大上,"小友留步,老夫一时兴起可否愿意陪我这老头子对弈一番.""对弈"."博弈"一词用上,是不是瞬间感觉超然物外许多 ...
- 【算法与数据结构】—— 博弈论(初级篇之巴什博弈)
博弈论之巴什博弈 巴什博弈(Bash Game): 有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个(m<n).最后取光者得胜. 分析: 显然,如果n=m+1,那么由于 ...
- ferguson博弈_组合博弈游戏
² 组合博弈游戏的概念和特点 ² 组合博弈游戏应满足以下性质: ² 1. 有两个游戏者. ² 2. 有一个可能的游戏状态集.这个状态集通常是有限的. ² 3. 游戏规则指定了在任何状态下双方的可能的走 ...
- 巴什博弈例题:NYOJ23;HDU:2149,1847,2897,2188
巴什博弈: 只有一堆n个物品,两个人轮流从这堆物品中取除,每次取的个数为[1,m](至少去一个,最多取m个),最后取完者获胜 特征: 物品只有一堆,简单变形: 要么在范围内不规定个数,要么规定只能取几 ...
- hdu 2188巴什博弈
http://acm.hdu.edu.cn/showproblem.php?pid=2188 分析:巴什博弈. View Code // I'm lanjiangzhou //C #include & ...
- 题解报告:hdu 2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴什博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188 Problem Description 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每 ...
- HDU 2188 经典巴什博弈
1.问题模型:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个,最后取光者得胜. 经典巴什博弈,参考到博客别人:点击打开链接 #include<iostream> ...
最新文章
- bootstrap table传回的数据后端怎么获取_Flasksqlalchemy让你的数据库和网页执手偕老吧...
- 预告:2009年下半年软考试题及答案51CTO将实时发布
- 厉害了我的VR!老师们用VR来教历史
- 从零开始搭建物联网平台(6):消息的持久化
- C标准库assert.h实现
- nginx看最大并发量_Nginx高并发配置思路(轻松应对1万并发量)
- Visual Studio 2019 + Visual C++——创建Visual C++ Hello World! 程序
- ImportError: cannot import name 'six' from 'django.utils'
- JS,JQ 格式化小数位数
- E: Some index files failed to download. They have been ignored, or old ones used instead.解决方案
- arXiv与文献调研神器Connected Papers强强联合
- Linux配置防火墙,开启80端口、3306端口
- 使用NVIDIA端到端深度学习平台进行缺陷自动检测
- Abaqus: 云图设置
- 英语单词音节拆分程序
- psd导出jpg太大_为什么 Ps 导出的 jpg 图片哪怕质量降到最低还是体积很大?
- python 当前日期_python 当前时间获取方法
- 怎样让自己的【微信公众号】快速涨粉?
- win10开机启动执行bat文件
- 这些开源项目,值得收藏深入研究