當(dāng)前位置:
首頁 >
二分图匹配问题
發(fā)布時間:2024/4/18
39
豆豆
最大匹配
N對人兩兩之間存在關(guān)系,求最多的匹配
- 最小點覆蓋=最大匹配
- 最大獨立集=頂點數(shù)-最大匹配
- 最小路徑覆蓋=頂點數(shù)-最大匹配
匈牙利算法:時間O(n3,nm{n^3}, {nm}n3,nm),空間O(n2,n+m{n^2,n+m}n2,n+m)
最佳匹配
最佳匹配是完備匹配,每個人都要被匹配。在完備匹配的基礎(chǔ)上求一種權(quán)值最大的匹配
- KM算法:設(shè)置兩個頂標(biāo)(左邊頂點賦值為對應(yīng)邊的最大權(quán)值,右邊賦值為0)先按照最大的權(quán)值選邊(匈牙利算法),選邊沖突時計算增廣路上最小的降低費用,更新每個點(增廣路上左邊的點減去費用,右邊的點加上費用)這樣保證增廣路可以繼續(xù)找到解而且之前連接的邊也存在,這樣遍歷每個點即可。
- 如果求權(quán)值和最小的最佳匹配,存負(fù)邊即可。
- 如果不是完全圖,計算的時候可以將沒有給出的邊賦值為**-inf**這樣不會影響答案,統(tǒng)計答案的時候判定一下即可。
總結(jié)
- 上一篇: 修复kali grub引导
- 下一篇: 2018-2019 ACM-ICPC P