![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
博弈论
文章平均质量分 74
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 2819 Nim 树链剖分/DFS序+LCA+树状数组
题意:给定一棵树,每个节点是一堆石子,给定两种操作:1.改变x号节点的石子数量2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略Nim游戏有必胜策略的充要条件是所有堆的石子数异或起来不为零这题首先一看就是树链剖分 然后题目很善良地告诉我们深搜会爆栈 于是我们可以选择广搜版的树链剖分BFS序从左到右是深搜,从右到左是回溯,一遍BFS就够单点修改区间查询还可原创 2014-09-02 09:30:06 · 2719 阅读 · 0 评论 -
BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论
题目大意:反Nim游戏,即取走最后一个的人输首先状态1:如果所有的堆都是1,那么堆数为偶先手必胜,否则先手必败然后状态2:如果有两个堆数量相同且不为1,那么后手拥有控场能力,即:若先手拿走一堆,那么后手可以选择将另一堆留下1个或者全拿走,使这两堆最终只剩1个或0个;若先手将一堆拿剩一个,那么后手可以选择将另一堆留下一个让先手拿或全拿走,使这两堆最终只剩1个或0个;若先手将一堆拿原创 2014-10-28 18:33:42 · 2997 阅读 · 0 评论 -
BZOJ 3759 Hungergame 博弈论+高斯消元
题目大意:给定一些箱子,每个箱子里有一些石子,两个人轮流操作,每个人可以进行以下操作之一:1.打开任意多的箱子2.从一个打开的箱子中拿走任意多的石子不能操作者判负,求先手是否必胜先手必胜的状态为:给出的数字集合存在一个异或和为零的非空子集,则先手必胜证明:首先我们有状态A:当前的所有打开的箱子中的石子数异或和为零,且所有关闭的箱子中的石子数的集合中不存在一个异或和为零的非空原创 2014-11-26 19:13:14 · 2267 阅读 · 0 评论 -
BZOJ 1443 JSOI2009 游戏Game 二分图博弈
题目大意:给定一个矩阵,一些位置有障碍,先手放置在某个位置,后手移动,先手再移动,一个格子只能经过一次,问是否先手必胜二分图博弈= = 将矩阵建成二分图,考虑二分图博弈的模型:给定一个二分图,每个点只能走一次,先手选定位置后手走,问是否先手必胜那么对于任意一个点,如果存在一个最大匹配中这个点没有被匹配,那么先手从这个点开始存在必胜策略先手放置后,后手无论走到哪个点,先手一定能沿着匹原创 2015-02-01 22:04:54 · 1945 阅读 · 0 评论 -
BZOJ 3895 取石子 博弈论+记忆化搜索
题目大意:给定n堆石子,两人轮流操作,每个人可以合并两堆石子或拿走一个石子,不能操作者输,问是否先手必胜直接想很难搞,我们不妨来考虑一个特殊情况假设每堆石子的数量都>1那么我们定义操作数b为当前石子总数+当前堆数-1若b为奇数,则先手必胜,否则后手必胜证明:若当前只有一堆,则正确性显然否则:若b为奇数,那么先手只需进行一次合成操作,此时操作数会-1,且仍不存在大小为原创 2015-02-28 19:59:20 · 2521 阅读 · 3 评论 -
BZOJ 1982 Spoj 2021 Moving Pebbles 博弈论
题目大意:给定n堆石子,每次可以选择一堆石子,拿走任意个,然后将堆中剩余石子移动任意个到任意一些堆里,不能操作者为输,求是否先手必胜 必败状态为:nn为偶数,且将石子数相同的堆两两配对可以配成n2\frac n2对 例如: 66 1 1 4 4 5 5 1\ 1\ 4\ 4\ 5\ 5\ 这就是一个先手必败的初始状态 证明: 首先证明这个状态是必败的 由于堆可以两两配对,因此无论先原创 2015-05-28 15:05:30 · 1979 阅读 · 0 评论 -
BZOJ 2927 POI1999 多边形之战 博弈论
题目大意:给定一个凸多边形的三角剖分,其中一个三角形被涂成了黑色,每次可以割一刀割下一个三角形,割下黑色三角形的人胜利,求是否先手必胜这傻逼题我想了50min。。。50min!把这个图转对偶图之后会变成一棵树。。。 问题转化成了给定一棵树有一个黑色节点每次删除一个叶节点,删除黑色节点的人胜利 如果黑色节点初始就是一个叶节点,那么先手必胜 否则当一个人面临一个黑色节点连接两个白色节点的状态时必败原创 2015-07-10 19:56:59 · 1679 阅读 · 0 评论 -
BZOJ 4147 AMPPZ2014 Euclidean Nim 博弈论+数论
题目大意:给定nn个石子,两人轮流操作,规则如下: 轮到先手操作时:若石子数<p<p,那么只能添加pp个石子,否则可以拿走pp的倍数个石子 轮到后手操作时:若石子数<q<q,那么只能添加qq个石子,否则可以拿走qq的倍数个石子 拿走所有石子的人胜利,问先手是否必胜,或输出游戏会永远进行下去令d=gcd(p,q)d=gcd(p,q),那么若dd不能整除nn,游戏将会永远进行下去 否则将p原创 2015-06-18 16:55:18 · 2806 阅读 · 3 评论