
博弈论
yuege38
在校学生,努力学习
展开
-
POJ1704_Georgia and Bob_Nim游戏变型
题意排成直线的格子上放有n个棋子。棋子i在左数第pi个格子上。Georgia 和 Bob轮流选择一个棋子向左移动。每次可以移动一格及以上任意多格,但是不允许反超其他的棋子,也不允许将两个棋子放在同一格内。无法进行移动操作的一方失败。假设Georgia先进行移动,当双方都采取最优策略时,谁会获胜?思路Nim游戏 链接http://poj.org/problem?原创 2018-01-07 10:41:32 · 221 阅读 · 0 评论 -
codeforces 138D_World of Darkraft_SG函数
题意H*W的棋盘中每个点都是L、R、X三者之一,两人轮流选一个点,若为L则向左下和右上发射激光,R向右下和左上发射,X则相当于LR的组合——同时向四个方向发射。激光所至的点会被摧毁,只有已摧毁的点或棋盘边界才会挡住激光。若在某回合开始时所有点都被摧毁,则该人失败。问先手是否有必胜策略?思路1。将棋盘分成单双两部分,即两个子问题 为什么一定要分成两个子问题,过了好几天终于想原创 2018-01-11 21:03:49 · 515 阅读 · 0 评论 -
POJ2068_Nim_DP博弈
题意两个队伍,每支队伍有n名队员交错入座,单次分别能最多取走Mi块石头,取走S块石头中的最后一块的队伍失败,求第一支队伍是否有必胜策略思路DP博弈。 dp[i][j][s] 第 i 队第 j 名队员取时剩下 s,此时是否必胜。 s = 0 时是必胜态。 第 i 队第 j 名队员从此状态出发, 能达到的状态中存在下一个取的队员(对方)的必败态,则此状态为必胜态。否则为必败态。链原创 2018-01-07 16:07:05 · 233 阅读 · 0 评论 -
POJ1740_A New Stone Game_模仿策略
题意首先Alice先走,然后每次至少扔掉一个棋子,然后从该堆拿出任意的石子(>=0)进行任意的分配,任意的分配是指可以拿出一部分分给其他还剩有石子的堆(数目自己定), 谁拿最后一堆谁就赢思路模仿策略。假设现在的场面是:剩余偶数堆,并且每一堆都可以找到一一对应的关系,关系中两个堆石子数目相等。即所有数目的堆都有偶数个。在这种情况下,后手只要模仿先手操作对应的堆,就一定能获得胜利,即原创 2018-01-07 19:27:32 · 194 阅读 · 0 评论 -
POJ2348_Euclid's Game_必胜态推理
题意给定两个整数 a 和 b。Stan 和 Ollie 轮流从较大的数字中减去较小数字的正整数倍,并且相见后的结果不能小于0。Stan先,在自己的回合中将其中一个数变为0的一方获胜。当双方都采取最优策略时,谁会获胜?思路假设 b > a (否则可一交换一下)。 如果 b 已经是 a 的倍数,则必胜。 下面讨论 b 不是 a 的倍数的情况: 按照“自由度”的观点可以分为两种情况原创 2018-01-07 09:38:50 · 310 阅读 · 0 评论 -
POJ2311_Cutting Game_SG函数
题意一张分成 w * 好的各自的长方形纸张,两人轮流切割纸张。要沿着格子的边界切割,水平或者垂直地将纸张切成两部分。切割了 n 次之后就得到了 n + 1 张纸,每次都选择切的某一张纸在进行切割。首先切出只有一个格子的纸张的一方获胜。当双方都采取最优策略时,先手必胜还是后手必胜?思路SG函数设当前状态为 x, 定义集合 S(x) = {y | SG(t), t 是 x 可以一步原创 2018-01-10 10:01:31 · 202 阅读 · 0 评论 -
POJ3537_Crosses and Crosses_一维SG函数优化写法
题意一行 n 个空白格子,两人轮流往任意空白格子里画×。最先连出三个x的人获胜。问先手必胜还是后手必胜。思路SG函数。 用set可能会超时,n 不太大的情况下可以用 bool 数组标记。具体见代码链接http://poj.org/problem?id=3537代码#include#include#includeusing namespace std;i原创 2018-01-10 13:52:44 · 379 阅读 · 0 评论