我谈阶梯博弈(Staircase Nim)
POJ 1704
【题意】
从左到右有一排石子,给出石子所在的位置。规定每个石子只能向左移动,且不能跨过前面的石子。最左边的石子最多只能移动到1位置。每次选择一个石子按规则向左移动,问先手是否能赢。
【分析】
我们把棋子按位置升序排列后,从后往前把他们两两绑定成一对。如果总个数是奇数,就把最前面一个和边界(位置为0)绑定。
在同一对棋子中,如果对手移动前一个,你总能对后一个移动相同的步数,所以一对棋子的前一个和前一对棋子的后一个之间有多少个空位置对最终的结果是没有影响的。
于是我们只需要考虑同一对的两个棋子之间有多少空位。
这样一来就成了N堆取石子游戏了.
HDU 4315
【题意】
有N个人爬山,山顶坐标为0,其他人的坐标按升序给出。不同的坐标只能容纳一个人(山顶不限),Alice和Bob轮流选择一个人让他移动任意步,但不能越过前面那个人。现在有一个人是king(给出id),谁能将king移动到山顶就算赢。
【分析】
考虑King的情况和上述版本几乎一致,只要把King当作普通人一样处理即可。
除了两种特殊情况:
1. 当King是第一个人时,Alice直接胜
2. 当King是第二个人且一共有奇数个人时,第一堆的大小需要减1。
因为如果king在奇数石子上,那么king前面的那一对石子k1,k2.
当对方把k1移到top时,我可以把k2移到top前的一个位置.
那么对于k2石子,对方如果碰了它,那么我肯定会把king移到top的.
所以k2也相当于是一颗废子而已,不影响最终Nim的结果.
我谈阶梯博弈(Staircase Nim)相关推荐
- 我谈阶梯博弈( Staircase Nim )
今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈... ...
- 【小组专题二:博弈论入门综述(1)】NP状态 | SG函数 | 巴什博奕、威佐夫博弈、斐波那契博弈、Nim游戏、SJ定理
博弈论综述[1] 前言 博弈与博弈论 博弈树 NP状态 SG函数(Sprague-Grundy) Sprague-Grundy Theorem 巴什博奕 Bash Game 威佐夫博弈 扩展威佐夫博弈 ...
- 阶梯博弈(Staircase Nim)
阶梯博弈!!!下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( & ...
- Poj1704:staircase nim【博弈】
题目大意:有一个无限长的一维的棋盘,棋盘上N个格子放置着棋子.两个人轮流操作,每次操作能选择其中一个棋子向左移动,但不能越过其它棋子或者两枚棋子放在同一格中,最后不能操作的人算输,问先手是否必胜? 思 ...
- Nim问题和阶梯Nim(staircase nim)
Nim问题和阶梯Nim(staircase nim) Nim问题: 有若干堆石子,每堆石子的数量都是有限的,合法的移动是"选择一堆石子并拿走若干颗(不能不拿)",如果轮到某个人时所 ...
- 博弈问题总集第三类----Staircase Nim
这一关我们上楼梯玩... 阶梯博弈是这样一个模型:有一个n层的台阶,每个台阶上都放有一定数量的石子.每次每个玩家可以选取某一层上任意数量的石子移动到下一层,不能操作的人输. 嗯这个问题看起来很复杂?我 ...
- staircase nim 经典组合游戏
游戏开始时有许多硬币任意分布在楼梯上,共n阶楼梯从地面由下向上编号为0到n.游戏者在每次操作时可以将楼梯j(1<=j<=n)上的任意多但至少一个硬币移动到楼梯j-1上.游戏者轮流操作,将最 ...
- HDU3389(阶梯博弈)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3389 题意:1-N带编号的盒子,当编号满足A>B && A非空 && ...
- P3480-[POI2009]KAM-Pebbles【阶梯博弈】
正题 题目链接:https://www.luogu.com.cn/problem/P3480 题目大意 nnn个石头堆上进行Nim\text{Nim}Nim游戏,不过需要满足每次操作前后都有ai≤ai ...
最新文章
- linux和java_java内存和linux关系
- Charles模拟403/404(Web)
- skimage函数记录之measure.label和measure.regionprops
- 首发量产1亿像素,小米新机宣布11月5日发布!
- 服务器虚拟化nas存储服务器搭建,采用NAS架构优化VMware服务器虚拟化环境的存储管理.pdf...
- Ubuntu11.10 源码编译 Nginx
- 查看mysql某人执行了什么语句_一条 SQL 语句是如何在 MySQL 中执行的
- 手机电脑同屏_把手游变成端游的同屏神器,就是这款Onebit“X9”了!
- keil交通灯c语言,用Keilc软件设计一个交通灯程序C程序
- EAS中没有的核算项目新增
- 输出某年某月某日的c语言程序,输入某年某月某日,输出这是今年的第几天,C语言问题...
- 46zTree - Metro 风格的左侧菜单
- select下拉菜单问题
- 面试最后一问:你有什么问题想问我吗?
- 每个人都能制作的简易版狂拍灰太狼小游戏(HTML+CSS+JavaScript)
- 大天使之剑服务器维修公告,大天使之剑————【维护】8月17日更新维护公告...
- python求反余弦_python数学.acos反余弦问题
- 如何使用IDM分类管理下载文件
- 生物信息学简介 -整理综合
- 机器视觉为工业自动化打开“新视界”的大门
热门文章
- 音频接口简介(PDM/PCM/IIS/SLIMBUS)
- Openshift架构理解v3.11
- jupyter notebook打不开,Unable to create process using ‘“e:\python\python.exe“ “G:\python\Scripts\jupyt
- 应用层协议 —— HTTP(二)
- 深度学习网络结构大全
- HTML+CSS+JS实现 ❤️ 科技感的数字时钟特效❤️
- PCB工程师分享——PCB布线技巧和心得
- 报错解决:urllib3.exceptions.MaxRetryError
- SEO之了解搜索引擎
- 天正当前比例怎么设置_天正模型空间怎么设置(天正7图纸空间中如何改变当前比例)...