最佳完美匹配即權(quán)值和最大的完美匹配,這里運(yùn)用到KM算法。 引進(jìn)兩個(gè)概念: 1、可行頂標(biāo),為一個(gè)節(jié)點(diǎn)函數(shù)l,使任意邊(u,v)均滿足l(u)+l(v)>=w(u,v); 2、相等子圖,為原圖的一個(gè)生成子圖,包含所有點(diǎn)以及滿足l(u)+l(v)=w(u,v)的邊。 定理:如相等子圖G’有完美匹配,則該匹配即為所求。 證明:G’的權(quán)值和為所有頂點(diǎn)的頂標(biāo)和Sum,而此時(shí)原圖G任意一個(gè)完美匹配的權(quán)值和均<=Sum。 算法流程: 1.構(gòu)造一個(gè)可行頂標(biāo)(一般可令lx(u)為與u相連的邊的最大權(quán)值,ly(v)=0); 2.搜索尋找增廣路,如找到換下一個(gè)節(jié)點(diǎn),否則轉(zhuǎn)3; 3.設(shè)X為搜索中左邊已訪問(wèn)的點(diǎn),Y為右邊已訪問(wèn)的點(diǎn),令路M(搜索失敗)上所有邊,在X中的頂標(biāo)減去d,在Y中的頂標(biāo)加上d, d為min{l(x)+l(y)-w(x,y)},x屬于X,y不屬于Y。下面說(shuō)明一下為什么這樣選取d: 如果比d小不能保證有新邊加入,而大于d會(huì)頂標(biāo)變得不可行,破壞性質(zhì)。
4.調(diào)整后l繼續(xù)執(zhí)行2;
時(shí)間O(n^4)如果加一個(gè)小優(yōu)化,在計(jì)算d時(shí)用一個(gè)數(shù)組slack[v](v不屬于Y)來(lái)維護(hù)與v相連的邊min{lx(u)+ly(v)-w(u,v)}可降下一個(gè)n。 來(lái)道板子POJ3565

為什么上面的A了,下面的WA?(窩調(diào)了一天QAQ)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注