CF1369F-BareLee【博弈论,SG函数】
1|0正题
题目链接:https://www.luogu.com.cn/problem/CF1369F
1|1题目大意
次游戏,每次给出一个和,两个人轮流操作,可以让或者,如果的话那个人就输了。
每次输的人将作为下一次的先手,最后一把决定胜负。
求第一次先手的人是否有必胜/必败策略。
1|2解题思路
先考虑一把里面是否有必胜策略,考虑用函数去求,因为我们只需要维护为和不为的信息就好了。
如果一个状态不能走到任何状态那么这个节点就是状态,为了方便,后面的都视为。
首先这个范围中因为用不了,所以这个范围肯定是交错的。
然后考虑从开始往前每个状态都会额外指向一个乘二后的值,如果也就是前面交错中每次跳两个,所以要么指向的都是要么指向的都是,如果指向的都是,那么后面就有一段都是,否则如果指向的是显然不会产生影响,依旧是交错。
然后让继续除二,然后考虑如果后面是连续段我们不需要考虑任何东西,如果后面是交错就继续按照前面的做,直到到这段包括我们就可以得到的值了。
然后考虑必败,最后一步肯定是,所以我们直接让,然后看是否必胜,这就是能否必败的答案了。
然后反过来一次就可以得到答案了。
时间复杂度:
1|3code
__EOF__

本文作者:QuantAsk
本文链接:https://www.cnblogs.com/QuantAsk/p/16049128.html
关于博主:退役OIer,GD划水选手
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/QuantAsk/p/16049128.html
关于博主:退役OIer,GD划水选手
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
博弈论
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构