【题解】Solution Set - NOIP2024集训Day43 博弈论
【题解】Solution Set - NOIP2024集训Day43 博弈论
https://www.becoder.com.cn/contest/5574
推荐一篇博客:https://www.cnblogs.com/linyihdfj/p/17447123.html
「ABC261Ex」Game on Graph
如果是 DAG 的话,直接跑一个 dp 应该就行。
考虑破环,对于这样一个很 navie 的环。
分讨:
-
如果每个出口都是先手走到的。
-
如果这是一个偶环。
那么,答案应该是
INFINITY
。 -
如果这是一个奇环。
-
-
如果不是每个出口都是先手走到的。
那么可以!@%!$!@#&*
考虑一条边会被走多次的条件:!@%!$!@#&*
BPU(Brain Processing Unit) 干烧了。
(27min passed...
做法可以看:https://www.luogu.com.cn/article/j08motvu
正确性可以看:https://www.luogu.com.cn/article/5z5cvnc9
聪慧的,又搞忘用「最短路松弛的方式」去转移带环的图上 dp 这个神秘的 trick 了。/kk
实际上,算法的本质是:
因为,我们最终的结果是要求最小值,所以其实转移就是求类似于一个最短路的东西。
如果两个转移方程都是取
,那么就是最短路了。
是可以转移,并正常入队的,这个的正确性其实是源于 dijkstra 的,取出来的时候就保证一定是取到真正的最小值了。 但是由于
的转移是取 ,所以我们必须等她所有的转移都转移完了,保证了她取到了真正的最大值,才能入队来进一步转移。
注意必须是把所有出度为
点都先放在优先队列里面,然后再一起跑一边 dijkstra,不然 更新会错,进而导致 也错。
「AGC048D」Pocky Game
没救,没思路。
(10min passed...
https://www.luogu.com.cn/article/aet4fh76
相关证明:
结论:
-
因为我们可以一次性拿掉多出来的,这样一定不劣。
同时,如果第一堆足够的多,先手可以每次只拿一个,挨到后手一旦把除了第一堆的拿完,然后再一次性拿完。
推论:(一个不太严谨的证明
-
所以,占据一个很多的堆对双方都是至关重要的。
为了先占据这个堆,双方一开始肯定都是一堆一堆的拿,后面在一个一个的拿。(这其实就是题解里面说的那个过程。
反正,这个结论不算很好想啊。
转移方程里面当
「BZOJ2688」Green Hackenbush
考虑一个 dp。
有转移:
「POI1999」多边形之战
如果我们先把黑色三角形拎出来的话,剩余的图形应该之多是三个多边形。
我们设这三个多边形内分别被划分成的三角形个数为
相当于,每次操作可以令这三个数中的一个
显然可以转化为有向图游戏,暴力求 SG 的话应该是
感觉跟三个数的奇偶有点关系。
我们可以先对这三堆对
(20min passed...
https://www.luogu.com.cn/article/r9xkv6qz
确实是奇偶但不是这么用的。题解还是应该是对所有的状态讨论(不过是对
关键在于,如果让某个人一直拿到 110 的局面,那么她就必败。
https://www.luogu.com.cn/article/qlpc93gx
「中山市选2009」谁能赢呢?
一道经典的「二分图博弈」在棋盘问题上的应用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话