Every-SG游戏】的更多相关文章

题目链接:BZOJ - 1874 题目分析 这个是一种组合游戏,是许多单个SG游戏的和. 就是指,总的游戏由许多单个SG游戏组合而成,每个SG游戏(也就是每一堆石子)之间互不干扰,每次从所有的单个游戏中选一个进行决策,如果所有单个游戏都无法决策,游戏失败. 有一个结论,SG(A + B + C ... ) = SG(A)^SG(B)^SG(C) ... 这道题每堆石子不超过 1000 , 所以可以把 [0, 1000] 的 SG 值暴力求出来,使用最原始的 SG 函数的定义, SG(u) = m…
先看一个问题 HDU 3595 GG and MM (Every_SG博弈) 题目有N个游戏同时进行,每个游戏有两堆石子,每次从个数多的堆中取走数量小的数量的整数倍的石子.取最后一次的获胜.并且N个游戏同时进行,除非游戏结束,否则必须操作. 现在问题变成了,每次都必须在每个非空石子堆中选择. 这个问题的核心在于: 对于我们可以赢的单一游戏,我们一定要拿到这一场游戏的胜利! 所以,我们只需要考虑如何让我们必胜的游戏尽可能长的玩下去. 但是对手却不希望他必败的单一游戏玩的太久,这就是 Every-S…
博弈论 一看题,哇这不是Nim游戏么= =直接异或起来……啊咧怎么不对? 这道题是[Anti-Nim],普通的Nim是取走最后一个就赢,这题是取走最后一个输…… 做法参见 2009年贾志豪论文<组合游戏略述——浅谈SG游戏的若干拓展及变形> /************************************************************** Problem: 1022 User: Tunix Language: C++ Result: Accepted Time:16…
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1022 反Nim游戏裸题.详见论文<组合游戏略述——浅谈SG游戏的若干拓展及变形>. 分析 #include <bits/stdc++.h> using namespace std; inline ;;;+c-';return x*=k;} int T,n,x,t,a; int main(){ read(T); while(T--){ read(n); x=t=; while(n…
Christmas Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1967   Accepted: 613 Description Harry and Sally were playing games at Christmas Eve. They drew some Christmas trees on a paper: Then they took turns to cut a branch of a tre…
http://poj.org/problem?id=3710 (说实话对于Tarjan算法在搞图论的时候就没搞太懂,以后得找时间深入了解) (以下有关无向图删边游戏的资料来自论文贾志豪<组合游戏略述--浅谈SG游戏的若干拓展及变形>) 首先,对于无向图的删边游戏有如下定理性质: 1.(Fushion Principle定理)我们可对无向图做如下改动:将图中的任意一个偶环缩成一个新点,任意一个奇环缩成一个新点加一个新边:所有连到原先环上的边全部改为与新点相连:这样的改动不影响图的SG值. 2.(…
Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一粒石子的人算输.小约翰相当固执,他坚持认为先取的人有很大的优势,所以他总是先取石子,而他的哥哥就聪明多了,他从来没有在游戏中犯过错误.小约翰一怒之前请你来做他的参谋.自然,你应该先写一个程序,预测一下谁将获得游戏的胜利. Input 本题的输入由多组数据组成第一行包括一个整数T,…
前言 在上一节中,我们初步了解了一下SG函数与SG定理. 今天我们来分析一下SG游戏的变式--Anti-SG游戏以及它所对应的SG定理 首先从最基本的Anti-Nim游戏开始 Anti-Nim游戏是这样的 有两个顶尖聪明的人在玩游戏,游戏规则是这样的: 有\(n\)堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿),拿走最后一个石子的人失败.问谁会胜利 博弈分析 Anti-Nim游戏与Nim游戏唯一的不同就是两人的胜利条件发生了改变,不过这并不影响我们对结论的推导 对于这个游戏,先手必…
博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时先手的人可以一次取走所有的: 当$n=m+1$时,这时先手无论取走多少个,后手的人都能取走剩下所有的: 当$n=k*(m+1)$时,对于每$m+1$个石子,先手取$i$个,后手一定能将剩下的$(m+1-i)$个都取走,因此后手必胜: 当$n=k*(m+1)+x(0<x<m+1)$时,先手可以先取$…
参考自 石家庄二中 贾志豪 IOI2009国家集训队论文 <组合游戏略述—— 浅谈 SG 游戏的若干拓展及变形> 一.定义 游戏规则加上 对于还没有结束的所有单一游戏,游戏者必须对其进行决策 二.结论 对于必胜的单一游戏,游戏者希望玩的越久越好 对于必败的单一游戏,游戏者希望越早结束越好 因为Every-SG 游戏的获胜方取决于坚持到最后的游戏者 所以 对于必胜态,需要知道最慢几步可以结束游戏 对于必败态,需要知道最快几步可以结束游戏 令step表示结束游戏的步数 那么 若状态S是结束状态,那…