博弈论题目总结

博弈论相关题目很多,以下进行总结,并将在今后不定时更新。

基础题:

POJ 2234 裸Nim游戏

POJ 2425 有向无环图+多个棋子,直接套用上面方法

POJ 2960 Nim游戏变形

POJ 2348 直接按照博弈递推一下即可

POJ 2975 求Nim游戏第一步的方法数

POJ 1704 Nim游戏变形,思考较难,实现简单。

  题解:直接SG显然会超时,如何分解成一个个小游戏呢?可以发现,若最后只有两个棋子连在一起,那么后手必胜。因此从这里下手的话,容易找到如果每两个都是连在一起的话,依然后手必胜。因此每两个之间形成一个Nim游戏,若为奇数个,在棋盘左边第0格加一个依然成立。虽然每一对的第一个可以向左走使这一堆石子变多,但是因为第二个可以任意走,完全可以向左走相同步数,然后就和Nim一样了。

POJ 3537 NIm游戏分解。

  题解:每次填进一个X,周围5个均不能再被填进,从而将棋盘分为左右两部分,递归求算SG即可。

提升题:

CF 317D Nim+打表

http://www.cnblogs.com/Mathics/p/3950154.html

POJ 1067 威佐夫博弈(可以找规律,不过还是看看资料吧,定理解决)

http://www.blogbus.com/yjq24-logs/42826226.html  ——假寐之海

时间: 2024-10-17 02:19:53

博弈论题目总结的相关文章

博弈论 题目整理

博弈论里面一个非常重要的结论: 如果前一个状态所有可能都是必败态,那么当前状态一定是必胜态. 如果前一个状态所有可能有一个是必胜态,那么当前状态一定是必败态. POJ 2484 A Funny Game 博弈游戏里面后手经常占据优势.除了A可以一次性全部拿光的情况,其他时候B都可以采取与A相同的策略,这样每次将石子分为相同的两组,最后获胜的一定是B. #include <cstdio> #include <cstring> #include <algorithm> us

博弈论题目总结(一)——组合游戏

人类的本质是什么呢?复读机?鸽子? 博弈问题是很有意思的一类题目 我讲的可能不是很明白,但题目都不难建议自己思考 组合游戏的特点: 1.两个人博弈,轮流做出最优决策 2.玩家在每个时刻做出的决策都是能预测到的,是一个确定的集合 3.每种状态可能有多种方式到达,但同一种状态不能在一次游戏中重复到达,且没有平局的情况 4.只要能进行决策,就一定要决策,不能跳过这个回合 SG组合游戏 我们把每种状态抽象成一个点,在起点有一颗棋子,两个人选取最优策略轮流对这颗棋子进行移动,最后不能移动棋子的人失败 显然

博弈论题目总结(二)——SG组合游戏及变形

SG函数 为了更一般化博弈问题,我们引入SG函数 SG函数有如下性质: 1.如果某个状态SG函数值为0,则它后继的每个状态SG函数值都不为0 2.如果某个状态SG函数值不为0,则它至少存在一个后继的状态SG函数值为0 如果某个局面SG函数值为0,则该局面先手必败 放到有向图中,该有向图的核就是SG值为0的点构成的集合 游戏的和 游戏的和的SG函数值=所有子游戏SG函数值的异或和Xor 如果所有子游戏都进行完毕,那么Xor=0,必败 如果某个状态的SG函数值为0,那么后手一定可以做出一种动作,保持

博弈论之入门小结

经过几天的学习和刷题,总算对博弈论的基础懂了一些,学习过程中参考了以下两位的总结: 博弈总结        博弈论题目列表 下面列出一些基础博弈的结论定理(证明过程略): (一)巴什博弈(Bash): 一个堆中有n个物体,两人轮流取,每次至少取1个,至多取m个,最后取完者胜. 取胜法则:令n=(m+1)*r+s  (s<=m,r为任意自然数),先取者要想取胜,则要求第一次取时必须取s个. (二)威佐夫博弈(Wythoff): 两个堆中各有若干个物品,两人轮流从某一堆或从两堆中同时取同样多个物品(

hdu 2188 悼念512汶川大地震遇难同胞——选拔志愿者 (博弈论,巴什博奕)

悼念512汶川大地震遇难同胞——选拔志愿者 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6982    Accepted Submission(s): 4421 Problem Description 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人

POJ 博弈论

poj1704 Georgia and Bob 题目链接:http://poj.org/problem?id=1704 题意:如图所示,两个人在玩一个游戏,排成直线的格子上有n个棋子,两人依次将棋子向左移动可以移动任意格子,但是不能超过前面的棋子,也不允许将两个棋子放在同一个格子里面,无法进行移动的一方失败,问对于某个状态先手是否能赢. 分析:若n为偶数,则将棋子两两分为一组,转化为Nim,棋子间的格子即为每个数,若右边的格子左移则可视为取走了石子,若左边的格子左移,第二个人只要将增加的格子减去

【LGOJ5652】基础博弈论练习题

你以为这是道博弈论题目,其实--的确是啊 把考场上的思路完整的说一下 首先考虑倒推,如果最后一格的数是奇数,会怎么样? 以样例为例 显然,如果我们走到了最后一格,就只能在上面反复横跳,直到这一列的格子完全消失 很容易发现,这样的情况,最后一列就是一个必胜点(这里必胜点定义为先走到这里一定获胜) 那么,在这一列的前面m列之内,所有列都是必败点(因为如果走到这里,下一步对手一定可以走到必胜点) 用红色表示必胜点,蓝色表示必败点 接着继续考虑,如果要尽量避免走到蓝色的列(必败点),最后两人一定会在第二

Gym - 100952G

G. The jar of divisors Alice and Bob play the following game. They choose a number N to play with. The rules are as follows: - They write each number from 1 to N on a paper and put all these papers in a jar. - Alice plays first, and the two players a

HDU4315 Climbing the Hill

题目链接:https://cn.vjudge.net/problem/HDU-4315 知识点: 博弈论 题目大意: \(Alice\) 和 \(Bob\) 轮流指挥 \(N\) 个人爬山,这 \(N\)个人在山顶下的不同层,国王是第 \(k\) 个人.山的每一层都最多只能容纳 \(1\) 个人(除了山顶),两个玩家每次都能指挥任意一个人向上爬任意层直到山顶,但不能让一个人越过另一个人.指挥国王爬到山顶上即可获胜. 解题思路: 首先,如果国王是第一个人,先手必胜. 如果 \(N\) 是偶数,关键