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