稳定婚姻系统
左右 \(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)\)。

浙公网安备 33010602011771号