「湖北省选模拟 2023」山路长环 / ring
分析博弈论还是比较有意思的。
首先考虑,一个段区间内部边权都为正,左右两端边权为 ,那么从一个位置一个方向走到 需要奇数步的话一定是先手必胜的,就直接往对应方向走并且把边清空即可,后手也必定只能往这个方向再走一步。如果两边都需要偶数步的话,先手必败,因为走不动/走一步就变成上一种状态。把 分割出来的段拿出来算就可以了。
如果最小值不为 ,若有奇数个点:直接选一个方向走,把边清空,后手被迫只能走这个方向,最后会输。所以这种情况先手必胜。接下来只用考虑环长为偶数的情况。
假如最小值是 ,如果某个时刻一个人把一条边变为 ,那么对手就可以直接往一个方向,边走边清空即可,所以自己就输了。故任何人会避免将 变成 。其实这个时候 的地位就跟最开始讨论的 的地位是一样的。我们有一个更加简单的结论:我们直接把最小值分割出来的段拿出来算就可以了。
考虑证明:只需证明任何一个人若把当前最小值减成更小就必败。因为此时我们可以就着当前最小值进行往单边走的策略,并把边权变成当前最小值。那么对手必定有一个时刻把最小值减成更小,这样就归纳到最小值更小的情况(直到 )了。
两种维护本质是相同的,用线段树维护就可以了,时间复杂度 。
本文作者:TulipeNoire
本文链接:https://www.cnblogs.com/TulipeNoire/p/18646423/HBOI2023_simu_ring
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步