稳定婚姻

主要是讲一下tarjan算法的正确性

我们的连边方案是对每一对已经有了的婚姻,从女方向男方连边,然后对于交往过的关系,从男方向女方连边

分析题意不难发现,如果某一对夫妻处于一个环中,那么这对婚姻关系就是不稳定的

证明一下,如果说一对夫妻不在某个环中但还是不稳定的,说明存在一条合法的路径,即BiGj,然后是BjGk,这么一直下去。在某一时刻不可能会存在男方找不到的情况,因为如果存在这种情况的话就与不稳定矛盾了。那么什么时候会停止呢?当某次女生是Gi的时候就会停止了,因为只要女生不是Gi,就说明男生不是Bi,根据我们前面的分析,男生就一定会找另一个女生而且一定找得到,由于点数有限,所以最终一定会以Gi为终点,也就找到了环

从环这里已经可以看出来是SCC了(所以以后看到环,可以往SCC上面想),我们来简单说明一下

首先,如果一对夫妻在同一SCC里面,那么这对夫妻一定处于一个环中(SCC中任意两个点一定都在一个环中,因为可以从一个点走到另一个点,然后从另一个点又走到这个点,就形成了一个环),也就是关系是不稳定的

其次,如果一对夫妻不处在同一SCC中,但是仍然同时存在一个环中,那么这个环以及夫妻双方各自所在的两个SCC合并起来就构成了一个更大的SCC,与SCC的极大性矛盾

然后介绍一下二分图的做法,主要是每次不要重新跑一遍完整的匈牙利,因为题目是已经给出了一个完备匹配了,每次只用从被破坏的这对夫妻的某个点出发找一条增广路就好了

update 2024.5.31

这里二分图的做法,找增广路是按照题意出发的,而根据我们完备匹配必须边的充要条件,我们发现其实就是一对关系是不是必须边

而我们对二分图必须边可行边判定的实际操作中也是按照tarjan做强连通分量实现的,所以两者是互通的

posted @   最爱丁珰  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示