NOIP2024集训Day43 博弈论
NOIP2024集训Day43 博弈论
怎么说,这些题就是想得出来就想得出来,想不出来就是想不出来
A. [ABC261Ex] Game on Graph
假设图是一个有向无环图,那么直接 DAG 上 dp 即可。轮到 Alice 时在所有后继节点中取最小值,轮到 Bob 时在所有后继节点中取最大值。
考虑有环。有环的 min/max dp 的经典解法是跑最短路,把无后继的节点入堆,建反图,跑 Dijkstra 就好了。
但是这个 dp 有时候取最大值,有时候取最小值,感觉比较难处理。
如果轮到 Alice,直接取最小值。因为 Dijkstra 用小根堆,所以 Alice 的 dp 值直接跑 Dijkstra 是正确的。
如果轮到 Bob,则要所有的后继节点更新后,才可以更新 Bob 的值。而且他是希望在博弈中跑出死循环的,所以如果不是所有的后继节点都更新得到,他就不更新。我们可以使用类似拓扑的方式处理。记录入度,松弛时入度减一。
B. [AGC048D] Pocky Games
先说结论:A、B两人每次要么取一个,要么全部取完。
感性证明一下:
如果某一方对应的那堆石子大于其余的之和,那么其必胜,否则他会弃掉这堆去抢后面的。
但是如果直接弃掉的话可能会输,所以要先一个一个的拿来拖延对面的时间,等时机到了就全部丢掉。
于是有:设
发现当
考虑 A 的策略,假设求的是
A 一开始会一个一个的丢,B 为了让 A 剩下的尽量少也会一个一个的丢,直到
所以 B 会在
复杂度
F. 多边形之战
如果这个三角形三个顶点相邻,则先手必胜(第一刀就可以切)
否则当黑色三角形只有一边与白色三角形相邻时才可以被切,显然那个白色三角形是最后一个白色三角形
于是转化为:有
做完了。
G. [BZOJ2463 中山市选2009] 谁能赢呢?
先说结论:
证明:以
那么对于每一轮操作,只要先手能走即先手能找到一个
所以只要先手能走后手一定能走,后手必胜。
对于
本文作者:Leirt_Abu
本文链接:https://www.cnblogs.com/Leirt/p/18447129
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!