版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
二分圖最大匹配問題
(貪心算法)BY長郡中學(xué)曹博凱二分圖的基本概念二分圖是一類特殊的圖結(jié)構(gòu)二分圖是這樣一種圖:G的頂點(diǎn)集合V分成兩部分X與Y,G中每條邊的兩個(gè)端點(diǎn)一定是一個(gè)屬于X而另一個(gè)屬于Y。匹配的基本概念設(shè)G=[V,E]是一個(gè)無向圖,M屬于E是G的若干條邊的集合,如果M中的任意兩條邊都沒有公共的端點(diǎn),就稱M是一個(gè)匹配。最大匹配的基本概念從給定的圖G=[V,E]的所有匹配中,把包含邊數(shù)最多的匹配找出來。這種匹配即所謂的最大匹配問題。二分圖的最大匹配e.g.飛行員分成兩部分,一部分是正駕駛員,一部分是副駕駛員。顯然,如何搭配正副駕駛員才能使出航飛機(jī)最多的問題可以歸結(jié)為一個(gè)二分圖上的最大匹配問題。常用算法網(wǎng)絡(luò)流算法(編程復(fù)雜,小題大做)匈牙利算法(理解困難,實(shí)現(xiàn)簡單)以上這些我都不會怎么辦?不用急!貪心算法下面,我們引進(jìn)一種能夠完美解決二分圖最大匹配問題的貪心算法。理解容易實(shí)現(xiàn)不難會議安排一個(gè)重要的會議由A公司的M位代表和B公司的N位代表參加(M,N≤1000,代表用1,2,……,M和1,2,……,N表示)。他們被預(yù)先分成K(K≤60000)組進(jìn)行談判。每組兩個(gè)人分別來自A公司和B公司。每個(gè)參加會議的代表都至少參加了一組談判。會議為每一個(gè)代表都準(zhǔn)備了一個(gè)房間。技術(shù)人員將會在一些房間之間連上直通電話,一個(gè)代表至少要和他的一個(gè)談判對手直接聯(lián)絡(luò)。連接一個(gè)直通電話的價(jià)格是常數(shù)。技術(shù)人員要用盡量少的花費(fèi)滿足會議的要求。題目分析這道題目我們很容易將其抽象成為二分圖最大匹配的基本模型。我們可以用匈牙利算法求出其最大匹配M,然后所求解即為n+m-M??墒牵紙錾喜⒉皇敲總€(gè)人都能想到這一巧妙的轉(zhuǎn)換。于是,我們可以懷抱著一種騙分的心態(tài),構(gòu)造出一種貪心策略,從而得到滿分!貪心算法首先,我們將每條無向邊拆分成兩條反向的有向邊,存儲在鄰接表中。與此同時(shí),我們記錄下每個(gè)頂點(diǎn)的出度。然后,我們每次找出一個(gè)當(dāng)前未被訪問過的結(jié)點(diǎn)中,出度最小的結(jié)點(diǎn)u。同時(shí),再在以該結(jié)點(diǎn)u為起始點(diǎn)的所有邊所對的點(diǎn)中,找出一個(gè)同樣滿足未被訪問,且出度最小的結(jié)點(diǎn)v。貪心算法接著,我們將u,v兩點(diǎn)都進(jìn)行刪除操作。(當(dāng)u的出邊所對的點(diǎn)都已被訪問,那么就找不到滿足條件的v,因此只對u進(jìn)行操作)所謂刪除操作,在這里,刪除s,其實(shí)就是將s的所有出邊所對的點(diǎn)t的出度都減一。(因?yàn)橐獎(jiǎng)h除點(diǎn)s,即(s,t)也被刪除,即(t,s)也要被刪除,所以t的出度要減一)貪心算法這樣循環(huán)做下來,我們每做一次都相當(dāng)于連了一條邊(u,v),于是inc(ans)。同時(shí),我們對這條邊的兩個(gè)端點(diǎn)u,v都做了刪除操作(如果可以的話)。每刪一個(gè)點(diǎn)就inc(tot),直到tot=n+m,即兩邊的點(diǎn)均被刪完。此時(shí)我們得到的ans值即為答案,直接輸出即可??偨Y(jié)以上就是簡單明了的二分圖最大匹配的貪心算法。比起前面所提到的網(wǎng)絡(luò)流算法和匈牙利算法,都有著無可比擬的優(yōu)越性。它不但比前面兩個(gè)算法都要好理解,而且不及網(wǎng)絡(luò)流算法的編程復(fù)雜度,也不用擔(dān)心匈牙利算法的遞歸層數(shù)。注意以上所述的貪心算法僅適用于二分圖的最大匹配問題,最佳匹配問題是不適用的。本人尚未見到有人能夠?qū)Υ怂惴ńo出嚴(yán)格的證明,但是網(wǎng)上確實(shí)也有不少人有用此算法過全點(diǎn)的經(jīng)歷??傊?,請各位慎重使用!(:以下附例題的主程序的代碼主程序代碼procedureadd(i,j:longint);begin
inc(top);
v[top]:=j;
next[top]:=u[i];
u[i]:=top;
inc(degree[i]);end;procedureins(i:longint);var
o:longint;begin
visit[i]:=true;
inc(tot);o:=u[i];whileo<>0dobegin
dec(degree[v[o]]);o:=next[o];end;end;begin
readln(n,m,k);fora:=1tokdobegin
readln(b,c);c:=n+c;
add(b,c);
add(c,b);end;主程序代碼
n:=n+m;whiletot<ndobeginb:=maxlongint;//找結(jié)點(diǎn)ufora:=1tondoif(not
visit[a])and(degree[a]<b)thenbeginb:=degree[a];c:=a;end;a:=u[c];b:=maxlongint;//找結(jié)點(diǎn)vwhilea<>0dobegin
if(not
visit[v[a]])and(degree[v[a]]<b)thenbeginb:=degree[v[a]];d:=v[a];end;a:=next[a];end;
inc(ans);//連邊,答案加一
in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024美團(tuán)外賣店配送時(shí)效及服務(wù)質(zhì)量合同3篇
- 2025年度體育用品代銷及賽事贊助合同4篇
- 2025年度別墅庭院景觀照明節(jié)能改造與維護(hù)合同3篇
- 2024玉石行業(yè)區(qū)塊鏈技術(shù)應(yīng)用與合作合同集錦3篇
- 2024版事業(yè)單位續(xù)簽勞動(dòng)合同申請書
- 2025年度物流運(yùn)輸代理服務(wù)合同標(biāo)準(zhǔn)范本4篇
- 2025年度智能電網(wǎng)用電安全出租房屋合同范本4篇
- 2025年分公司設(shè)立與市場開發(fā)合作協(xié)議書4篇
- 建筑垃圾再利用可行性研究報(bào)告x
- 2025年電子商務(wù)平臺租賃續(xù)租服務(wù)協(xié)議3篇
- TD/T 1060-2021 自然資源分等定級通則(正式版)
- 人教版二年級下冊口算題大全1000道可打印帶答案
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀
- 倉庫智能化建設(shè)方案
- 海外市場開拓計(jì)劃
- 2024年度國家社會科學(xué)基金項(xiàng)目課題指南
- 供應(yīng)鏈組織架構(gòu)與職能設(shè)置
- 幼兒數(shù)學(xué)益智圖形連線題100題(含完整答案)
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 紅色歷史研學(xué)旅行課程設(shè)計(jì)
- 如何避免護(hù)理患者投訴
評論
0/150
提交評論