终于也轮到我做游戏了,他们做了好几个月的游戏了。

巴什博弈:

两个人做游戏,取石子,一个人最多可以可以取M个,至少取1个,最后取完的赢。

显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。

举例1:先手必胜(如果是傻子就好说了)

终结数30 ,最大可以取3个,最少取1个

经过上面的公式推算- 3+1=4(m+1)

正常人:

如果先手足够聪明,那么他一定会胜利,他可以保证每次留给你剩下的数都是4的倍数 取2留28,取6留24,取10留20,取14留16,取18留12,取22留8,取26留4,先手只要取到这些点必输。

康宝斌:

如过先手不够聪明,留给后手反击的机会,后者就可以通过先手的失误,先达到上面的点。

总结 谁先给对手留(m+1)倍数的数,谁就先胜利

一个人拿1~m个,那谁面对m+1的局势的的时候则必败。假设n=k*(m+1)+s,(k为任意,s<m+1),那我(先手)先把那个s个拿掉,然后让另一个人拿,从现在开始,只要我每次拿的个数与前面一个人拿的个数和等于m+1,这样后拿的必定面对必败局势,即到最后另一个人拿完后肯定是剩t(t<m)个给我,那就是我赢。

举例2:先手必输

我们考虑这种情况:

终结数20 ,最大可以取3个,最少取1个。

无论我去多少个,我不能留给我对手K*(M+1)个,这样的后果是,我会面对K*(M+1)的情况,也就是我必输。

总结:

那我们讨论一下什么时候必输,什么时候必赢。

当我一开始就面对K*(M+1)的局势,相当于对面给我制造了K*(M+1)的局势,而我是先手。

所以判断终止数%(M+1)=0?来判断先手必输,还是必赢。

数学--博弈论--巴什博奕(Bash Game)的更多相关文章

  1. 悼念512汶川大地震遇难同胞——选拔志愿者 HDU 2188 博弈论 巴什博奕

    悼念512汶川大地震遇难同胞--选拔志愿者 HDU 2188 博弈论 巴什博奕 题意 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队 ...

  2. 博弈论基础知识: 巴什博奕+斐波那契博弈+威佐夫博奕+尼姆博弈(及Staircase)(转)

    (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.若(m+1) | n,则先手必败,否则先手必胜.显然,如果n=m+1 ...

  3. 博弈---巴什博奕(Bash Game)(博弈入门)

    巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规 定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走 ...

  4. hdu 2149 (巴什博奕)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2149 Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的 ...

  5. 巴什博奕小结 HDU2188 HDU1846 HDU2149

    摘自百度百科: 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以, ...

  6. codeforces gym 100694 M The Fifth Season (巴什博奕)

    题目链接 一直觉得巴什博奕是最简单的博弈遇到肯定没问题,结果被虐惨了,看完标程错了10多遍都没反应过来,当然标程题解和代码的意思也写反了,但是还是想对自己说一句mdzz,傻啊!!!这道题很不错,我觉得 ...

  7. HDU 2188 悼念512汶川大地震遇难同胞――选拔志愿者(巴什博奕)

    选拔志愿者 题意: 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人员,以及进行心理疏导的心理学专家.根据要求,我 ...

  8. HDU 1851 (巴什博奕 SG定理) A Simple Game

    这是由n个巴什博奕的游戏合成的组合游戏. 对于一个有m个石子,每次至多取l个的巴什博奕,这个状态的SG函数值为m % (l + 1). 然后根据SG定理,合成游戏的SG函数就是各个子游戏SG函数值的异 ...

  9. HDU 2149-Public Sale(巴什博奕)

    Public Sale Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit  ...

随机推荐

  1. PowerShell入门简介

    文章更新于:2020-03-03 一.PowerShell简介 说实话,我总感觉 PowerShell 是 cmd 的加强版,但是看官方介绍,功能甚是强大,用处有待我们发掘. 二.PowerShell ...

  2. 会 Linux 用户管理的不一定是网管吧

    管理用户文件 用户账户文件 /etc/passwd账户号文件 在Linux系统中,创建的用户账户及其相关信息,均放在/etc/passwd配置文件中. 这个文件中每一行代表一个用户的资料. 每一行使用 ...

  3. python通过pymysql实现数据库的增删改查

    今天实现了python对于数据库的增删改查工作: 具体的每一步的数据库的增删盖茶自己都实验过了. 掌握了基本的数据库操作语言.然后就是对于tuple()的认识. 以及对于查询语句中的:fetchone ...

  4. Kafka,RocketMQ,RabbitMQ部署与使用体验

    前言 近期在研究各种消息队列方案,为了有一个直观的使用体验,我把Kafka,RocketMQ,RabbitMQ各自部署了一遍,并使用了最基本的生产与消费消息功能.在部署过程中也遇到一些问题,特此记录. ...

  5. Python zipfile模块学习

    转载自https://www.j4ml.com/t/15270 import zipfile import os from zipfile import ZipFile class ZipManage ...

  6. CVE-2019-17671:wrodpress 未授权访问漏洞-复现

    0x00 WordPress简介 WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务 ...

  7. niuke --abc

    链接:https://ac.nowcoder.com/acm/contest/1083/A来源:牛客网 给出一个字符串s,你需要做的是统计s中子串”abc”的个数.子串的定义就是存在任意下标a< ...

  8. linux CVE-2019-14287 Sudo提权漏洞

    CVE-2019-14287 sudo介绍 sudo,也就是以超级管理员身份运行(superuser do)的意思.sudo 是 Linux 中最常使用的重要实用程序之一,它功能十分强大,几乎安装在每 ...

  9. ASP.NET Core技术研究-全面认识Web服务器Kestrel

    因为IIS不支持跨平台的原因,我们在升级到ASP.NET Core后,会接触到一个新的Web服务器Kestrel.相信大家刚接触这个Kestrel时,会有各种各样的疑问. 今天我们全面认识一下ASP. ...

  10. 推荐一个小而美的Python代码格式化工具

    代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 “WFT” 定律,即每分钟爆出 “WTF” 的次数.你在读别人代码或者做 Code Review 的时候有没有 “ ...