版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、匹配問題學(xué)習(xí)小結(jié)(POJ) 臨行上海,決定把最近研究過的各種匹配題做個匯總,原因是這樣既可以鞏固自己對匹配問題的掌握,又可以借此復(fù)習(xí)一下匹配問題的各種外在表現(xiàn)形式。我認為,如果比賽中出到匹配,出題者在問題的算法上大做文章的可能性不大,大多數(shù)出題者一定會挖空心思來設(shè)計一個讓你眼花繚亂的背景,借此來隱藏匹配問題的實質(zhì)!二分圖最小覆蓋的Konig定理及其證明二分圖:頂點可以分類兩個集合X和Y,所有的邊關(guān)聯(lián)在兩個頂點中,恰好一個屬于集合,另一個屬于集合。 最小覆蓋: 最小覆蓋要求用最少的點(集合或集合的都行)讓每條邊都至少和其中一個點關(guān)聯(lián)??梢宰C明:最少的點(即覆蓋數(shù))最大匹配數(shù) Konig定理:二分
2、圖的最小頂點覆蓋數(shù)等于最大匹配數(shù)。 證明: 為主便敘述,假設(shè)G分為左邊X和右邊Y兩個互不相交的點集。假設(shè)G經(jīng)過匈牙利算法后找到一個最大匹配M,則可知G中再也找不到一條增廣路徑。標記右邊未匹配邊的頂點,并從右邊未匹配邊的頂點出發(fā),按照邊:未匹配->匹配->未匹配.,的原則標記途中經(jīng)過的頂點,則最后一條經(jīng)過的邊必定為匹配邊。重復(fù)上述過程,直到右邊不再含有未匹配邊的點。記得到的左邊已標記的點和右邊未標記的點為S, 以下證明S即為所求的最小頂點集。1。| S | = M 顯然,左邊標記的點全都為匹配邊的頂點,右邊未標記的點
3、也為匹配邊的頂點。因此,我們得到的點與匹配邊一一對應(yīng)。2。S能覆蓋G中所有的邊。 上途S中點所得到的邊有以下幾種情況: (1)左右均標記; (2)左右均無標記; (3)左邊標記,右邊未標記; 若存在一條邊e不屬于S所覆蓋的邊集,則e 左邊未
4、標記右邊標記。如果e不屬于匹配邊,那么左端點就可以通過這條邊到達(從而得到標記);如果e屬于匹配邊,那么右端點不可能是一條路徑的起點,于是它的標記只能是從這條邊的左端點過來的左端點就應(yīng)該有標記。 3。S是最小的覆蓋。 因為要覆蓋這M條匹配邊至少就需要M個點。轉(zhuǎn)自:在一個的有向圖中,路徑覆蓋就是在圖中找一些路經(jīng),使之覆蓋了圖中的所有頂點,且任何一個頂點有且只有一條路徑與之關(guān)聯(lián);(如果把這些路徑中的每條路徑從它的起始點走到它的終點,那么恰好可以經(jīng)過圖中的每個頂點一次且僅一次);如果不考慮圖中存在回路,那么每每條路徑就
5、是一個弱連通子集由上面可以得出:.一個單獨的頂點是一條路徑;如果存在一路徑p1,p2,.pk,其中p1 為起點,pk為終點,那么在覆蓋圖中,頂點p1,p2,.pk不再與其它的頂點之間存在有向邊最小路徑覆蓋就是找出最小的路徑條數(shù),使之成為的一個路徑覆蓋路徑覆蓋與二分圖匹配的關(guān)系:最小路徑覆蓋最大匹配數(shù);其中最大匹配數(shù)的求法是把中的每個頂點pi分成兩個頂點pi'與pi'',如果在p中存在一條pi到pj的邊,那么在二分圖中就有一條連接pi'與pj''的無向邊;這里pi' 就是p中pi的出邊,pj''就是p中pj 的一條入邊;對于
6、公式:最小路徑覆蓋最大匹配數(shù);可以這么來理解;如果匹配數(shù)為零,那么中不存在有向邊,于是顯然有:最小路徑覆蓋最大匹配數(shù);即的最小路徑覆蓋數(shù)為;中不在于匹配邊時,路徑覆蓋數(shù)為;如果在中增加一條匹配邊pi'pj'',那么在圖P的路徑覆蓋中就存在一條由pi連接pj的邊,也就是說pi與pj 在一條路徑上,于是路徑覆蓋數(shù)就可以減少一個;如此繼續(xù)增加匹配邊,每增加一條,路徑覆蓋數(shù)就減少一條;直到匹配邊不能繼續(xù)增加時,路徑覆蓋數(shù)也不能再減少了,此時就有了前面的公式;但是這里只 是說話了每條匹配邊對應(yīng)于路徑覆蓋中的一條路徑上的一條連接兩個點之間的有向邊;下面來說明一個路徑覆蓋中的每條連接
7、兩個頂點之間的有向邊對應(yīng)于一條匹配 邊;與前面類似,對于路徑覆蓋中的每條連接兩個頂點之間的每條有向邊pi->pj,我們可以在匹配圖中對應(yīng)做一條連接pi'與pj''的邊, 顯然這樣做出來圖的是一個匹配圖(這一點用反證法很容易證明,如果得到的圖不是一個匹配圖,那么這個圖中必定存在這樣兩條邊 pi'-pj'' 及 pi' -pk'',(j!=k),那么在路徑覆蓋圖中就存在了兩條邊pi->pj, pi->pk ,那邊從pi出發(fā)的路徑就不止一條了,這與路徑覆蓋圖是矛盾的;還有另外一種情況就是存
8、在pi'-pj'',pk'-pj'',這種情況也類似可證);至此,就說明了匹配邊與路徑覆蓋圖中連接兩頂點之間邊的一一對應(yīng)關(guān)系,那么也就說明了前面的公式成立!轉(zhuǎn)自:POJ 1469 COURSES學(xué)生選課問題,基礎(chǔ)匹配問題。有p節(jié)課,n個學(xué)生,每節(jié)課可以由指定的幾個學(xué)生參加,但是每個學(xué)生只能參加一節(jié)課?,F(xiàn)在問能不能找到一些學(xué)生使得他們:1.每個學(xué)生匹配不同的一節(jié)課2.每節(jié)課匹配一個學(xué)生。就是求個最大匹配,看看匹配數(shù)是不是等于課程數(shù)。如果相等不就滿足要求了么.POJ 3041 Asteroids在N*N的平面上有K顆小行星,現(xiàn)在你要摧毀他們,你的每一
9、發(fā)子彈可以摧毀同一行,或者是同一列上的小行星,現(xiàn)在問你最少要多少子彈才能摧毀所有的小行星?構(gòu)圖:如果在i行j列上有一顆小行星 則graphij=1,再求最大匹配即可。這一題用到的結(jié)論是 :最小頂點覆蓋 = 最大匹配(最小覆蓋要求用最少的點(集合或集合的都行)讓每條邊都至少和其中一個點關(guān)聯(lián)) POJ 2771 Guardian of Decency老師帶學(xué)生出去旅游,但是擔(dān)心學(xué)生會發(fā)生戀愛關(guān)系,所以帶出去的學(xué)生至少要滿足以下要求之中的一個:1.身高相差40cm以上2.同性3.喜歡的音樂風(fēng)格不同4.喜歡的運動相同問最多可以帶出去多少學(xué)生?個人感覺如果有男有女,就很有可能是二分匹配了。這道題我們反過
10、來想,如果將所有可能發(fā)生戀愛關(guān)系的男女配對,那么可以帶出去的人數(shù)應(yīng)該等于這個二分圖的最大獨立集。根據(jù)公式: 最大獨立集=頂點數(shù)(包括X和Y)-最大匹配求一次匹配即可。POJ 3020 Antenna Placement題目的意思大致就是,一個矩形中,有N個城市,現(xiàn)在這n個城市都要覆蓋無線,若放置一個基站,那么它至多可以覆蓋相鄰的兩個城市。問至少放置多少個基站才能使得所有的城市都覆蓋無線?構(gòu)圖:行掃描所有城市,編號,如果有城市相鄰就連一條邊,當(dāng)然如果3和4相鄰,首先graph34=1,當(dāng)掃描到4時graph43也連一條邊,最后只需要取一半即可.求最大匹配的一半,這樣可以得到所有2個相鄰城市被一個
11、基站覆蓋所需要的基站數(shù)。然后再加上獨立的那些基站即可。公式是:N-最大匹配(代表所有可以和相鄰城市配對的城市數(shù))+最大匹配/2=N-最大匹配/2; POJ 1325 Machine Schedule兩臺機器A,B,A有n個模式,B有m個模式,現(xiàn)在有k個工作,其中每一個工作可以由A或B中的一個特定模式來完成,但是切換機器的模式要重新啟動一次,問最少要重啟多少次機器才能完成所有工作?A,B兩臺機器構(gòu)成一個二分圖,在之間按照給出的條件連邊。這樣想,每一個工作其實是由一條邊來代表的,那么我們只要用最少的頂點來覆蓋所有的邊即可。這就是最小覆蓋。根據(jù)公式:最小覆蓋=最大匹配;對原二分圖做一次最大匹配即可。
12、對了,針對這個題還有一個問題,就是起始狀態(tài)下是在mode 0的,如果在這個模式下工作,是不需要切換mode的,所以只要有工作是在mode 0下(不管是在A還是在B),對這個工作就不連邊,默認它不占匹配數(shù)!記得當(dāng)時就是錯在這里,轉(zhuǎn)化很重要??!POJ 2226 Muddy Fields(*)這個題的原型應(yīng)該是Asteroids的變種,剛看了這道題,一眼就看出了是最小覆蓋,看來我理解了最小覆蓋的內(nèi)在含義了。農(nóng)夫John的養(yǎng)牛場,是一個R 行C 列的矩形,一場大雨后,養(yǎng)牛場低洼的地方都有了積水。John 的牛都很嬌貴的,他們吃草的時候,不想把他們的蹄子給弄臟了。為了不讓牛兒們把它們的蹄子弄臟
13、,John 決定把有水的地方鋪上木板。他的木板是寬度為1,長度沒有限制的。 他想用最少數(shù)目的木板把所有有水的低洼處給覆蓋上,前提是木板不能覆蓋草地,但是可以重疊。Sample:4 4*.*.*.*.把行里面連在一起的坑連起來視為一個點,即一塊橫木板,編上序號,Sample則轉(zhuǎn)化為:1 0 2 00 3 3 34 4 4 00 0 5 0把這些序號加入X集合,再按列做一次則為:1 0 4 00 3 4 52 3 4 00 0 4 0同樣加入Y集合,一個坑只能被橫著的或者被豎著的木板蓋住,將原圖的坑的也標上不同的序號,一共九個坑1 . 2 . 3 4 567 8 . . 9 .比如7號
14、坑可以被橫著的4號木板和豎著的3號木板蓋住,把每個點的對應(yīng)的橫木板(4)和豎木板(3)中間連一條邊的話,則問題轉(zhuǎn)化為 找盡量少的邊把這些點都蓋住,根據(jù)定理便是求最大匹配數(shù).POJ 1422 Air Raid 空襲!典型的最小路徑覆蓋題,城市之間單向相連,無環(huán)!問最少用多少個傘兵能遍歷這張圖。根據(jù)定理:最小路徑覆蓋=頂點數(shù)-最大匹配數(shù)POJ 3216 Repairing Company(*)題目說的是一個城市里面有Q個點,有M項工作,每個工作有個工作地點pi,最晚開始時間ti,和工作需要的時間di.從城市中的任意一個點到另一個點的直接時間又一個矩陣給出。不連通為-1.注意間接聯(lián)通是被允許的。我再
15、這個題上哉了2次,汗啊。我總是以為二分圖的頂點時基于城市中的點的,但實際上時基于工作。這一題首先對給定的圖做一次floyd,這樣就能求出兩個點之間最少需要走的時間。然后判斷兩個工作之間是否存在先后關(guān)系for(i=1;i<=m;i+) scanf("%d%d%d",&worki.p,&worki.t,&worki.d);
16、160;for(i=1;i<=m;i+) for(j=1;j<=m;j+) if(worki.t+worki.d+gworki.pworkj.p<=workj.t) graphij=1; 最后做最小路徑覆蓋即可。注意這里的頂點數(shù)應(yīng)該是工作數(shù)!這一題值得重點注意!printf("%dn",m-Hungary(m,graph);POJ 259
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育儲值卡銷售與教育資源整合合同3篇
- 二零二五版環(huán)保項目環(huán)保宣傳教育分包合同3篇
- 二零二五年度果園租賃附帶果樹修剪與施肥服務(wù)合同3篇
- 二零二五年度賓館能源審計服務(wù)合同范本3篇
- 二零二五版危險化學(xué)品運輸司機安全責(zé)任合同3篇
- 2024年速凍粘玉米購銷合同的支付方式
- 2024鮮魚養(yǎng)殖與市場風(fēng)險防控合作協(xié)議3篇
- 二零二五年度駕校場地租賃與智能語音教學(xué)合同3篇
- 二零二五年度酒店租賃經(jīng)營聯(lián)合運營合同范本3篇
- 二零二五年度高端酒吧場地租賃服務(wù)合同3篇
- 2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(含答案)
- 2025年國新國際投資有限公司招聘筆試參考題庫含答案解析
- 制造車間用洗地機安全操作規(guī)程
- 2025河南省建筑安全員-A證考試題庫及答案
- 商場電氣設(shè)備維護勞務(wù)合同
- 油氣田智能優(yōu)化設(shè)計-洞察分析
- 陜西2020-2024年中考英語五年真題匯編學(xué)生版-專題09 閱讀七選五
- 磚混結(jié)構(gòu)基礎(chǔ)加固技術(shù)方案
- 助產(chǎn)專業(yè)的職業(yè)生涯規(guī)劃
- 新《國有企業(yè)管理人員處分條例》知識競賽考試題庫500題(含答案)
- 骨質(zhì)疏松護理
評論
0/150
提交評論