Autosynthesis
这道题目我居然还是想出来了。。。开心
遇事不决转化图论,考虑一个很显然的连边方案,连有向边
剩下的看这篇题解,主要是注意代码实现
updpate 2024.7.1
由于要转换为图论,所以考虑连边
连边的时候,发现如果按照有向边
最后会形成一个基环树森林,对每一颗基环树单独讨论就好了
对一颗基环树做拓扑排序:
对于非环上的点:
叶子一定不会被圈
如果一个点的前驱中存在一个不被圈的,那么这个点一定会被圈
如果一个点的前驱中不存在被圈的,那么这个点一定不会被圈
如果到了环:
经过上面的过程,显然环上的点要么还没被决定是否圈,要么已经被决定一定圈
如果环上所有点都没被决定是否圈,那么有解当且仅当这个环是偶环,且从随便一个点开始进行奇偶赋值就是一组解了
如果环上存在点已经被决定被圈了,那么每两端连续的已经被决定的圈的中间没有被决定的一定是不被圈-被圈-不被圈-被圈-……这种(最后结尾被圈和不被圈都可以),此时一定有解
update 2024.9.1
像这种线段转图论的题很多都是基环树,可以记下来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构