【HDU3595】GG and MM(博弈论)】的更多相关文章

同时进行,必须操作这就是Every-SG的特点 同样在贾志豪的论文中有提到这种游戏:组合游戏略述——浅谈SG游戏的若干拓展及变形 其中这个游戏特点不仅有必胜和必败,而且有时间长短的博弈,对于自己必胜的局面,希望步数越多越好,自己必败的局面,早点结束才有利.显得更加复杂. 其中论文中提到,必胜当且仅当所有的单一游戏步数最大的为奇数. 比较好理解,最大的为奇数,当然是先手赢,其它的都已经提前结束. 在论文中有具体的证明和阐述. 在这题中,可以发现如果X,Y,X>Y而且X/Y==1,则每次从X中取走Y…
[HDU3595]GG and MM(博弈论) 题面 HDU 一个游戏由多个游戏组成,每次每个操作者必须操作所有可以操作的游戏,操作集合为空者输. 每个游戏由两堆石子组成,每次可以从较多的那一堆中取走较小那堆的数量的倍数个石子. 判断胜负. 题解 \(Every-SG\),所以我们只需要分开考虑两堆. 这题有点性质,假设两堆石子为\(x,y,x<y\),那么令\(k=\lfloor\frac{y}{x}\rfloor\) 如果\(k=1\),显然操作唯一,直接取反后继的\(sg\)函数即可. 如…
$ \color{#0066ff}{ 题目描述 }$ 两堆石子,GG和MM轮流取,每次在一堆石子中取另一堆石子的k\((k\ge1)\)倍,不能操作的输 现在二人要玩n个这样的游戏,每回合每个人对每个未完成的游戏进行操作,胜负取决于最后一个游戏的结果 问能否先手必胜 \(\color{#0066ff}{输入格式}\) 多组数据 第一行一个n 接下来n行为每个游戏的两堆石子 \(\color{#0066ff}{输出格式}\) 每组数据输出谁能赢(MM先手) \(\color{#0066ff}{输入…
第六阶段 网络编程 每一台计算机通过网络连接起来,达到了数据互动的效果,而网络编程所解决的问题就是如何让程序与程序之间实现数据的通讯与互动 在吗?你是GG还是MM? (一) 网络模型概述 (1) 两大模型 网络模型一般是指: OSI(Open System Interconnection开放系统互连)参考模型 TCP/IP参考模型 (2) 网络模型七层概述 物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强…
传送门 题意: 两个数$x,y$,一个人的决策为让大数减去小数的任意倍数(结果不能为负),出现0的人胜 一堆这样的游戏同时玩 Every-SG 游戏规定,对于还没有结束的单一游戏,游戏者必须对该游戏进行一步决策: 贪心:先手必胜的尽量长,先手必败的尽量短 对于Every-SG 游戏先手必胜当且仅当单一游戏中最大的step 为奇数. $step(u) =$ \begin{cases}0, & \text{$u为终止状态$}\\max\{step(v)\}+1, & \text{ $sg(u)…
巴什博奕: 两个顶尖聪明的人在玩游戏,有n个石子,每人可以随便拿1−m个石子,不能拿的人为败者,问谁会胜利 结论: 设当前的石子数为\(n=k∗(m+1)\)即\(n%(m+1)==0\)时先手一定失败 HDU1846 #include<iostream> using namespace std; int main() { int C,N,M; scanf("%d",&C); while(C--) { scanf("%d%d",&N,&a…
SG函数 为了更一般化博弈问题,我们引入SG函数 SG函数有如下性质: 1.如果某个状态SG函数值为0,则它后继的每个状态SG函数值都不为0 2.如果某个状态SG函数值不为0,则它至少存在一个后继的状态SG函数值为0 如果某个局面SG函数值为0,则该局面先手必败 放到有向图中,该有向图的核就是SG值为0的点构成的集合 游戏的和 游戏的和的SG函数值=所有子游戏SG函数值的异或和Xor 如果所有子游戏都进行完毕,那么Xor=0,必败 如果某个状态的SG函数值为0,那么后手一定可以做出一种动作,保持…
基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.csdn.net/acm_cxlove/article/details/7854534 经典的删边游戏小结:http://blog.csdn.net/acm_cxlove/article/details/7854532 五篇国家集训队论文: 张一飞: <由感性认识到理性认识——透析一类搏弈游戏的解答过程 > 王晓珂:<…
先看一个问题 HDU 3595 GG and MM (Every_SG博弈) 题目有N个游戏同时进行,每个游戏有两堆石子,每次从个数多的堆中取走数量小的数量的整数倍的石子.取最后一次的获胜.并且N个游戏同时进行,除非游戏结束,否则必须操作. 现在问题变成了,每次都必须在每个非空石子堆中选择. 这个问题的核心在于: 对于我们可以赢的单一游戏,我们一定要拿到这一场游戏的胜利! 所以,我们只需要考虑如何让我们必胜的游戏尽可能长的玩下去. 但是对手却不希望他必败的单一游戏玩的太久,这就是 Every-S…
题目链接:http://codeforces.com/contest/734/problem/C 题意: 玩一个游戏,一开始升一级需要t秒时间,现在有a, b两种魔法,两种魔法分别有m1, m2种效果: 对应使用a1[i]魔法需要a2[i]金币,使用b1[i]魔法需要b2[i]金币: 每种魔法最多只能使用一次,问升到n(n<=1e+5)级最少需要多少时间: 注意:给出的b1, b2数组是升序排列的: 思路:对每一个a魔法找到最大的b1魔法jj, 即为使用此a魔法需要最少时间的情况:再找到所有jj…