稳定婚姻系统

Employment

左右 \(n\) 个点的带权二分图,寻找一种匹配,使得对于任意匹配对 \((u,x),(v,y)\)不能存在 满足 \(w(u,y)>w(u,x)\)\(w(y,u)>w(y,v)\) 的情况。(否则 \(u\) 会和 \(y\) 匹配,这样就是 不稳定的)

稳定婚姻系统

取出一个未匹配的左部点,找到 \(u\) 权值最高的出边 \((u,v)\)

\(v\) 还未被匹配,\(v\) 匹配上 \(u\),否则:

\(p\) 表示 \(v\) 的匹配点,若 \(w(v,u)>w(v,p)\),切断 \((p,v)\) 边和匹配,\(v\) 匹配上 \(u\)\(p\) 另自寻找匹配;否则切断 \((u,v)\) 边,\(u\) 继续寻找匹配。

注意到一个性质,主动匹配的一方,一定是相对最优的。

每条边只会断一次,故时间复杂度 \(\mathcal{O}(n^2)\)

posted @ 2023-07-07 10:23  Network_Error  阅读(31)  评论(0)    收藏  举报