路径覆盖与二分图匹配一一对应
对任意一种路径覆盖,在二分图上选对应的边,肯定选出来的是一组匹配这就对应上去了
难的主要是将二分图对应到一种路径覆盖上面去
我们假设最开始把每个独立的点当做一条路径(即每个点既是起点也是终点),然后我们在二分图中每选一条边(注意是匹配边),就在DAG中选择对应的边,由于每次选择的是匹配边,所以在DAG中,这条边的起点一定是DAG中某一条路径的终点(不然的话这个点之前就已经被选中了,我们就不可能再在二分图中选出这条匹配边),这条边的终点一定是DAG中某一条路径的起点(原因同上),选上这条边后就相当于把两条路径连接在了一起,肯定还是路径覆盖
对任意一种匹配都按上面这种操作,操作顺序无所谓,最终就会对应过去
所以从上面的过程也可以看出,我们求了最大匹配之后,左部的非匹配点就是路径的终点(即使这个点在DAG中是孤立点也符合题意)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构