HDU4315 Climbing the Hill】的更多相关文章

题目链接:https://cn.vjudge.net/problem/HDU-4315 知识点: 博弈论 题目大意: \(Alice\) 和 \(Bob\) 轮流指挥 \(N\) 个人爬山,这 \(N\)个人在山顶下的不同层,国王是第 \(k\) 个人.山的每一层都最多只能容纳 \(1\) 个人(除了山顶),两个玩家每次都能指挥任意一个人向上爬任意层直到山顶,但不能让一个人越过另一个人.指挥国王爬到山顶上即可获胜. 解题思路: 首先,如果国王是第一个人,先手必胜. 如果 \(N\) 是偶数,关键…
题目链接 先回到阶梯博弈的裸题中,比如POJ-1704,所有的块只能向左移并且不能跨越,这个向左移的结果我们可以理解为将左边的宽度减少使得右边的宽度增加,等同于阶梯模型中将石子从高阶移动到低阶.那么最右边的一对相邻块之间的宽度就是第一阶的石子个数,从右到左依次为为第一阶第二阶......用变量来表示如下: 设块初始位置为\(a[1],a[2]...a[n]\),那么在阶梯模型中第一阶的石子个数为\(a[n]-a[n-1]-1\)(想一想为什么减一),第二阶为\(a[n-2]-a[n-3]-1\c…
Climbing the Hill Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status Description Alice and Bob are playing a game called "Climbing the Hill". The game board consists of cells arranged vertically, as the…
Climbing the Hill Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 919    Accepted Submission(s): 411 Problem Description Alice and Bob are playing a game called "Climbing the Hill". The ga…
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1286 Accepted Submission(s): 585 Problem Description Alice and Bob are playing a game called "Climbing the Hill". The game board consists of ce…
参考博客 先讲一下Georgia and Bob: 题意: 给你一排球的位置(全部在x轴上操作),你要把他们都移动到0位置,每次至少走一步且不能超过他前面(下标小)的那个球,谁不能操作谁就输了 题解: 当n为偶数的时候,假设当每个球都相互挨着没有间隙,那么两两一组,一组中前面那个走到哪,后面那个跟上就可以了,先手必输 如果球与球之间有间隙,那么俩俩球之间的距离可以当作尼姆博弈中取石子游戏中一堆石子的石子数,用尼姆博弈判断一下就可以了 可以说先手赢不赢光和两球之间的距离有关,如果俩俩球之间的的距离…
http://acm.hdu.edu.cn/showproblem.php?pid=4315 题意:有n个人要往坐标为0的地方移动,他们分别有一个位置a[i],其中最靠近0的第k个人是king,移动的时候在后面的人不能越过前面的人,先把king送到0的人胜. 思路:阶梯博弈.把n个人两两配对,形成一个组,即a[i]和a[i+1]是一个组,a[i+2]和a[i+3]是一个组,把a[i]和a[i+1]的距离当成阶梯博弈中的奇数阶的值,a[i+1]和a[i+2]的距离当成偶数阶(不用考虑).首先k=1…
题意:有n个人爬山,山顶坐标为0,其他人按升序给出,不同的坐标只能容纳一个人(山顶不限),Alice和Bob轮流选择一个人让他移动任意步,但不能越过前面的人,且不能和前面一个人在相同的位置.现在有一个人是king,给出king是哪个人(id),谁能将国王移动到山顶谁胜. 解题思路:先考虑简化版,没有king,谁先不能移动谁输掉.和阶梯博弈类似http://blog.csdn.net/longshuai0821/article/details/7793043.根据人数的奇偶性:把人从上顶向下的位置…
传送门 题意: 和上题基本一样:山顶可以有多人,谁先把king放到山顶谁就胜 并不太明白 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; typedef long long ll; ; inline int read(){ ,f=; ;c=getchar();} +…
http://acm.hdu.edu.cn/showproblem.php?pid=4315 题意:由上至下有多个格子,最顶端的是山顶,有多个球,其中有一个球是king,每次可以将球向上移动任意个格子,但是不可以跨越别的球.现将king移动到山顶者赢. 思路:和poj1704是差不多的,如果不懂阶梯博弈的话,可以看看我的这篇博客http://www.cnblogs.com/zyb993963526/p/7868315.html. 现在还是两两分组,谁没空格可移肯定是必败状态,为什么呢?首先,如果…