hdu 2897 巴什博弈

博弈类题目小结(HDU,POJ,ZOJ) 转载请注明出处,谢谢http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents    by---cxlove 首先当然要献上一些非常好的学习资料: 基础博弈的小结:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.youkuaiyun.com/ac 阅读详情

一堆石子,数量有n个,每次最少拿p个,最多拿q个,如果最后少于或等于p个就要一次拿完,最后拿完的人算输。

问先手得人是否能赢。

个人认为巴士博弈博弈就是通过不断地配数来使对手一直处于必输状态。

用第一个样例来说,最少拿2,最多拿4,那么每次后手的人都能使石子数稳定的减少6个,这样用n%6判断情况就可以了。

首先确定必输情况:

如果当前石子数是6的倍数加一个<=2的数,那么先手必输。因为每次对手都能通过凑数使你面临这种情况,直到石子数<=2为止。

必胜情况

如果n%6>2,先手的人就能使情况变成n%6<=2但不等于0,让对手面临必输状态

如果n%6=0先手只要取4个,同样变成了n%6=2,对手必输

必输情况

如果n%6<=2≠0,先手必输

#include<iostream>
#include<cstdio>
#include<vector>
#include<set>
#include<map>
#include<string.h>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#define LL long long
#define mod 1000000007
#define inf 0x3f3f3f3f
#define sqr(a) (a)*(a)
#define lan(a,b) memset(a,b,sizeof(a))

using namespace std;

int main()
{
    int n,p,q;
    while(~scanf("%d%d%d",&n,&p,&q))
    {
        int k=p+q;
        if(n%k>p||n%k==0)
            printf("WIN\n");
        else if(n%k<=p&&n%k>0)
            printf("LOST\n");
    }
    return 0;
}


最简解决 Unity Error Registry configuration is invalid Unable to connect https packages.unity.cn 前言 在学习其他大佬项目的时候,大佬说项目能直接运行,然后我拉下来就报如下错误 Unity报错:[Package Manager]Error Registry configuration is invalid:Unable to connect “https://packages.unity.cn” 翻了很多博发现是 unity3d 中国增强版的原因,中国增强版屏蔽了国外自定义的插件仓库。 安装 非中国增强版后可以成功打开。 然后大家给出的解决方案都比较激进,大抵就是更换Unity版本就OK了。 当然我是觉 阅读详情

相关推荐

A robust and easy to implement method for IMU calibration without external equipments(IMU标定)

A robust and easy to implement method for IMU calibration without external equipments 1 标定原理1 亲试可用,还有动态演示效果不错。相比商用产品的简易标定流程,该标定方法有以下几点不同: 给出了加速度计和陀螺仪更复杂的模型。 利用Allan方差的定义,标定陀螺仪的偏置。 大量冗余数据,保证最优化收敛。利用数十...

擦擦擦大侠的博客 3948

巴士博弈

对于巴士博弈类的题目,往往直接求模就可以得到答案。 作为计算机学院的学生,Kiki和Cici打牌的时候可没忘记专业,她们打牌的规则是这样的: 1、总共n张牌; 2、双方轮流抓牌; 3、每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…) 4、抓完牌,胜负结果也出来了:最后抓完牌的人为胜者; 假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生...

BJM‘s blog. 1313

(学习笔记)机器人自主导航从零开始第四步———Rviz、Gazebo、Meshlab的安装

一、Rviz的安装 Rviz是一个

qq_59475883的博客 5057

巴什博弈

废话少说 巴什博弈:给出一堆n个物体,双方每次可以从中拿出至少一个,最多m个。给出n,m的数值 问:先手方是否会赢 分析: 对于博弈问题通常有这样的必败点和必胜点分析方法又成P/N分析法 此法有如下定理: 0.终点是必败点(这也是下两条的前提) 1.只用一步就到必胜点的必为必败点 2.只用一步就能走到必败点的就是必胜点 上一道题来理解 杭电:http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意: 给出一个m*n的矩阵,要求从右上通过每次向,左,下,左下(三选一)

R的博客 1462

大红球预警版-精选+自定义板块监控

这是一款简单易用的股票大单资金监控插件,兼容通达信软件,可嵌入分时图或定制版面。它以红绿圆球直观显示主力买卖情况(红球为买,绿球为卖),支持300万以上大单语音播报。插件提供实时资金流向分析、多股同时监控、自定义预警条件等功能,无需L2账号。用户可自由切换图形/列表模式,监控特定板块,并配合幻影软件实现自动交易。虽然上涨股通常红球占优,但需结合其他指标综合判断。该插件完全免费,包含详细视频教程,适合新手使用。

guleba的博客 1794

200smart 模拟量转换库的建立

模拟量当前值 =(工程值 - 工程量下限)*(模拟量上限 - 模拟量下限)/ (工程量上限 - 工程量下限)+ 模拟量下限2. 建立变量表3. 程序。

mmxxoo_xxmmp的博客 4215

基础博弈理论(巴什博弈,威佐夫博弈,尼姆博弈,斐波那契博弈)

巴什博弈: 巴什博弈就是一共有n个石子,两个人轮流拿石子,一次最少拿1个最多拿n个,最后取光石子的人赢。 先拿石子的人称为先手,后拿石子的就是后手,因为两个人都是绝顶聪明的,所以我们要判断在不同的n和m的情况先手和后手哪个是必赢的。 一共有n个石子,如果一开始n只等于m+1,那么不论先手拿了几个,后手都可以一次拿走剩下的。如果n大于m+1,同样的,不论先手每次拿几个,后手都可以使两个人这次拿的石子合起来的数量是m+1,所以当n%(m+1)==0的时候,先手必输,后手必赢。 巴什博弈的变形: 前面和巴什博弈一

weixin_51913217的博客 2570

一图文带您认识磁编码器

磁编码器是以磁电原理技术生产的编码器。 磁编码器工作原理: 当电流通过一个位于磁场中的导体的时候,磁场会对导体中的电子产生一个垂直于电子运动方向上的的作用力,从而在垂直于导体与磁感线的方向上产生电势差。 如果让施加在这个导体上的磁场以电流流经路径为轴线,按照上图箭头所示的方向旋转,那么这个霍尔电势差就会因为磁场与导体之间角度的改变而发生变化,而这个电势差的变化趋势,与之前一文中次级线圈旋转时的输出电压一样,是一条正弦曲线。因此,基于这个通电导体两侧的电压,就可以反推计算出磁场旋转的角度了。 .

encoder_yang的博客 2万+

HDU 2897巴什博弈变形

邂逅明下 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2144    Accepted Submission(s): 974 Problem Description 当日遇到月,于是有了明。当我遇到了你,便成了

风尘_浪子 1148

ESP32水墨屏日历实战:低功耗自动更新与HTTPS数据解析

本文详细介绍了ESP32水墨屏日历项目的开发实践,重点讲解了低功耗自动更新与HTTPS数据解析的实现方法。通过ESP32的自动休眠功能和水墨屏的零功耗特性,结合HTTPS请求安全获取网络数据,实现了高效节能的桌面日历应用。项目代码开源,适合物联网开发者参考。

xx56789的博客 777

R语言生存分析之竞争风险模型

R语言生存分析之竞争风险模型 竞争风险模型(Competing Risk Model)是一种处理多种潜在结局生存数据的分析方法,早在1999年Fine和Gray就提出了部分分布的半参数比例风险模型,通常使用的终点指标是累积发生率函数(cumulative incidence function,CIF)。 研究中结局事件可能有多个,某些结局将阻止感兴趣事件的出现或影响其发生的概率,各结局事件形成“竞争”关系,互为竞争风险事件。 竞争风险模型( Competing Risk Model ) : 指

data+scenario+science+insight 5248

hdu 1846 2897 巴什博弈

Brave Game Time Limit: 1000/1000 MS(Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9648    Accepted Submission(s): 6437 Problem Description 十年前读大学的时候,中国每年都要从国

lym77777的博客 363

LPDDR6与LPDDR5 channel/rank/die/bank技术探讨

LPDDR6与LPDDR5 channel/rank/die/bank技术探讨

zilan23的博客 3648

hdu 2897巴什博弈变形

http://acm.hdu.edu.cn/showproblem.php?pid=2897 题意:一堆石子共n个,A、B两人轮流从中取,每次取得石子数必须在[p,q]区间,若剩下的石子数少于p个,则当前取者必须全部取完。最后取完石子的人输。 分析:我看分类的时候他写着是用sg打表找规律。我就照做了。我脑残啊。从一堆中取出物体,不就是巴什博弈吗???? 算法分析:     假设先取者为

ZhouRush 624

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU 2897-邂逅明下 博弈论初步 巴什博弈

博弈论 ACM 巴什博弈变形

viewsetting的博客 388

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

邂逅明下 HDU - 2897 巴什博弈变形&&博弈论

当日遇到月,于是有了明。当我遇到了你,便成了侣。  那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)  小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?...

W349652743的博客 230

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

hdu 2897 巴什博弈变形

题目来源: http://acm.hdu.edu.cn/showproblem.php?pid=2897 分析: n % (p + q) == 0 先手赢。 策略为: A 拿 q , B 拿任意 k, A拿 p+q - k, 最后剩 p, B拿。 n % (p + q) + left left <= p , 先手输。 策略为A 任意k, B 拿 p + q - k , 最...

weixin_34010949的博客 78

hdu2897 邂逅明下 巴什博弈

看到题直接去打SG表,果断T掉了=..发现这题一共有10W组数据...细想想容易发现,对于区间[L,R],[1,L]lost,[L+1,L+R]win [L+R+1,L*2+R]lost ,[2*L+R+1,2*L+2*R]win..胜负状态是以l+r为循环节循环的,那么n%=(l+r)就可以直接判断了... #include #include #include #include usi

Broken Wings 803

HDU 2897(邂逅明下) 巴什博弈扩展

巴什博弈扩展题,稍有难度。 博弈详情参考:ACM 数论篇——博弈论import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import j

TinyDolphin的博客 640

hdu 2897 巴什博弈裸题

#include #include using namespace std; int main() { int n,p,q; int tmp; while(cin>>n>>p>>q) { if(n%(q+p)==0) cout<<"WIN"<<endl; else { tmp=n%(p+q); if(tmp<=p) cout<<"LOST"<<endl;

星空永恒 358

HDU2897 巴什博奕

题目传送门 题意见传送门 博弈题的题解总是:简单博弈,找规律… … 为什么我就找不到规律呢 我先用sg函数写了一遍 TLE了,然后察觉到需要O1的解法(也就是找规律 题目中说到,当石头数量小于等于p个时,只能全部取完,也就是必败态,接下来我们用巴什博弈的PN态性质来试着递推: [1,p]必败,可以进入必败态的都是必胜态,因此有[1+p,p+q]必胜,即左区间加上p,右区间加上q,这样是最大的可选范围 [1+p,p+q]必胜,只能进入必胜态的是必败态,因此有[1+p+q,p+q+p]必败,即左区间加上q,右

陈颜的博客 5299

HDU 2897 邂逅明下(SG博弈论)

题目地址:HDU 2897 本来这题可以用NP状态转换,但是数据太大,所以可以通过打表sg函数值,来找出规律。感觉sg函数打表就是利用的NP状态转换的那两条规则。 通过打表可以发现,从1开始,连续p个0,然后接着连续q个正整数,然后再连续p个0,接着连续q个正整数,就这样循环下去。所以规律就很明显了。 代码如下: #include #include #include #include

scf0920 1581
上一篇: hdu 1576 拓展gcd
下一篇: hdu 4764 巴什博弈
Dale_zero
博客等级 码龄9年 10粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值