




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ACM程序設(shè)計ACM程序設(shè)計_13二分匹配及其應(yīng)用今天,你開始了嗎?復(fù)習(xí)2024/3/72ACM程序設(shè)計_13二分匹配及其應(yīng)用第十三講二分圖及其應(yīng)用
(BipartiteGraph)2024/3/73ACM程序設(shè)計_13二分匹配及其應(yīng)用主要內(nèi)容什么是二分圖二分圖的最大匹配匈牙利算法二分圖的最小頂點(diǎn)覆蓋DAG圖的最小路徑覆蓋二分圖的最大獨(dú)立集處理技巧2024/3/74ACM程序設(shè)計_13二分匹配及其應(yīng)用什么是二分圖?如果一個圖的頂點(diǎn)可以分為兩個集合X和Y,圖的所有邊一定是有一個頂點(diǎn)屬于集合X,另一個頂點(diǎn)屬于集合Y,則稱該圖為“二分圖”(BipartiteGraph)2024/3/75ACM程序設(shè)計_13二分匹配及其應(yīng)用例1:婚配問題男女2024/3/76ACM程序設(shè)計_13二分匹配及其應(yīng)用二分圖的最大匹配 在二分圖的應(yīng)用中,最常見的就是最大匹配問題,很多其他的問題都可以通過轉(zhuǎn)化為匹配問題來解決。2024/3/77ACM程序設(shè)計_13二分匹配及其應(yīng)用如何求二分圖的最大匹配呢?2024/3/78ACM程序設(shè)計_13二分匹配及其應(yīng)用經(jīng)典算法:匈牙利算法2024/3/79ACM程序設(shè)計_13二分匹配及其應(yīng)用匈牙利算法(求二分圖最大匹配)談匈牙利算法自然避不開Hall定理Hall定理:對于二分圖G,存在一個匹配M,使得X的所有頂點(diǎn)關(guān)于M飽和的充要條件是:對于X的任意一個子集A,和A鄰接的點(diǎn)集為T(A),恒有:|T(A)|>=|A|
2024/3/710ACM程序設(shè)計_13二分匹配及其應(yīng)用圖示(1):男1男2女1女2女3返回2024/3/711ACM程序設(shè)計_13二分匹配及其應(yīng)用圖示(2):男1男2女1女2女3返回X0=男2V1={男2}V2=ΦT(V1)={女1}Y=女1V1={男2,男1}V2={女1}Y=女2M←M⊕E(P)(其中,P是從x0→y的可增廣道路)2024/3/712ACM程序設(shè)計_13二分匹配及其應(yīng)用匈牙利算法——基本步驟:1.任給初始匹配M;2.若X已飽和則結(jié)束,否則進(jìn)行第3步;3.在X中找到一個非飽和頂點(diǎn)x0,作V1←{x0},V2←Φ;4.若T(V1)=V2則因?yàn)闊o法匹配而停止,否則任選一點(diǎn)y∈T(V1)\V2;5.若y已飽和則轉(zhuǎn)6,否則做一條從x0→y的可增廣道路P,M←M⊕E(P),轉(zhuǎn)2;6.由于y已飽和,所以M中有一條邊(y,z),作V1←V1∪{z},V2←V2∪{y},轉(zhuǎn)4;
2024/3/713ACM程序設(shè)計_13二分匹配及其應(yīng)用圖示(3):男1男2女1女2返回X0=男2V1={男2}V2=ΦT(V1)={女1}T(V1)!=V2Y=女1V1={男2,男1}V2={女1}T(V1)=V22024/3/714ACM程序設(shè)計_13二分匹配及其應(yīng)用NOTE: 真正求二分圖的最大匹配的題目很少,往往做一些簡單的變化,比如——2024/3/715ACM程序設(shè)計_13二分匹配及其應(yīng)用變種1:二分圖的最小頂點(diǎn)覆蓋 在二分圖中求最少的點(diǎn),讓每條邊都至少和其中的一個點(diǎn)關(guān)聯(lián),這就是
二分圖的“最小頂點(diǎn)覆蓋”。2024/3/716ACM程序設(shè)計_13二分匹配及其應(yīng)用實(shí)例分析2024/3/717ACM程序設(shè)計_13二分匹配及其應(yīng)用例2:嚴(yán)禁早戀,違者開除!男生女生2024/3/718ACM程序設(shè)計_13二分匹配及其應(yīng)用例3:HDOJ_1150任務(wù)安排
有兩臺機(jī)器A和B以及N個需要運(yùn)行的任務(wù)。每臺機(jī)器有M種不同的模式,而每個任務(wù)都恰好在一臺機(jī)器上運(yùn)行。如果它在機(jī)器A上運(yùn)行,則機(jī)器A需要設(shè)置為模式ai,如果它在機(jī)器B上運(yùn)行,則機(jī)器A需要設(shè)置為模式bi。每臺機(jī)器上的任務(wù)可以按照任意順序執(zhí)行,但是每臺機(jī)器每轉(zhuǎn)換一次模式需要重啟一次。請合理為每個任務(wù)安排一臺機(jī)器并合理安排順序,使得機(jī)器重啟次數(shù)盡量少?!狝CM/ICPCBeijing20022024/3/719ACM程序設(shè)計_13二分匹配及其應(yīng)用圖示:結(jié)論:二分圖的最小頂點(diǎn)覆蓋數(shù)=二分圖的最大匹配數(shù)a0a1a2a3a4b0b1b2b3b42024/3/720ACM程序設(shè)計_13二分匹配及其應(yīng)用特別說明:此題需要注意的一點(diǎn),具體參見:
2024/3/721ACM程序設(shè)計_13二分匹配及其應(yīng)用變種2:DAG圖的最小路徑覆蓋 用盡量少的不相交簡單路徑覆蓋有向無環(huán)圖(DAG)G的所有頂點(diǎn),這就是DAG圖的最小路徑覆蓋問題。2024/3/722ACM程序設(shè)計_13二分匹配及其應(yīng)用例4:HDOJ_1151AirRaid 有一個城鎮(zhèn),它的所有街道都是單行的,并且每條街道都是和兩個路口相連。同時已知街道不會形成回路。 你的任務(wù)是編寫程序求最小數(shù)量的傘兵,這些傘兵可以訪問(visit)所有的路口。對于傘兵的起始降落點(diǎn)不做限制。2024/3/723ACM程序設(shè)計_13二分匹配及其應(yīng)用Input: 4
3
34
13
23Output:2樣本數(shù)據(jù):2024/3/724ACM程序設(shè)計_13二分匹配及其應(yīng)用“空襲”示意圖12344’3’2’1’13242024/3/725ACM程序設(shè)計_13二分匹配及其應(yīng)用結(jié)論:DAG圖的最小路徑覆蓋數(shù)=節(jié)點(diǎn)數(shù)(n)-最大匹配數(shù)(m)關(guān)鍵:求二分圖的最大匹配數(shù)2024/3/726ACM程序設(shè)計_13二分匹配及其應(yīng)用變種3:二分圖的最大獨(dú)立集HDOJ_1068GirlsandBoys
大學(xué)二年級的時候,一些同學(xué)開始研究男女同學(xué)之間的緣分。研究者試圖找出沒有緣分同學(xué)的最大集。程序的結(jié)果就是要輸出這個集合中學(xué)生的數(shù)量。2024/3/727ACM程序設(shè)計_13二分匹配及其應(yīng)用樣本數(shù)據(jù): 輸入:
7
0:(3)456
1:(2)46
2:(0)
3:(0)
4:(2)01
5:(1)0
6:(2)01輸出:5
2024/3/728ACM程序設(shè)計_13二分匹配及其應(yīng)用00’154326’5’4’3’2’1’6“GirlsandBoys”示意圖2024/3/729ACM程序設(shè)計_13二分匹配及其應(yīng)用結(jié)論:二分圖的最大獨(dú)立集數(shù)=節(jié)點(diǎn)數(shù)(n)—最大匹配數(shù)(m)關(guān)鍵:求二分圖的最大匹配數(shù)2024/3/730ACM程序設(shè)計_13二分匹配及其應(yīng)用AnyQuestions?2024/3/731ACM程序設(shè)計_13二分匹配及其應(yīng)用相關(guān)練習(xí)201003《ACM程序設(shè)計》在線作業(yè)(13)——二分匹配2024/3/732ACM程序設(shè)計_13二分匹配及其應(yīng)用附:參考源碼(HDOJ-1150)/*hdoj_1150匈牙利算法月下版*/
#include<iostream>
#include<string>
#include<vector>
usingnamespacestd;
boolmark1[100],mark2[100];
intlist[100];
intn,m,edge,num;
vector<vector<int>>v;
booldfs(intto)
{
registerinti,point,s=list[to];
for(i=0;i<v[s].size();i++)
{
point=v[s][i];
if(!mark2[point])
continue;
mark2[point]=false;
if(list[point]==-1||dfs(point)){
list[point]=s;
returntrue;
}
}
returnfalse;
}
voidSolve()
{
inti,j,point;
boolflog=false;
memset(mark1,true,sizeof(mark1));
memset(list,-1,sizeof(list));
num=0;
for(i=0;i<n;i++)
{
for(j=0;j<v[i].size();j++)
if(list[v[i][j]]==-1)
{
mark1[i]=false;
list[v[i][j]]=i;
num++;
if(i==0)flog=true;
break;
}
}for(i=0;i<n;i++)
{
if(mark1[i])
{
if(!v[i].empty()){
memset(mark2,true,sizeof(mark2));
for(j=0;j<v[i].size();j++)
{
point=v[i][j];
if(!mark2[point])continue;
mark2[point]=false;
if(list[point]==-1||dfs(point))
{
list[point]=i;
num++;
break;
}
}
}
mark1[i]=false;
}
}
if(flog||list[0]!=-1)
cout<<num-1<<endl;
elsecout<<num<<endl;
}
intmain()
{
inti,j,s,d;
while(cin>>n)
{
if(n==0)break;
v.clear();
v.resize(n);
ci
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62746-4:2024 EN-FR Systems interface between customer energy management system and the power management system - Part 4: Demand Side Resource Interface
- 2025-2030年中國銻摻雜二氧化錫氧化錫行業(yè)運(yùn)行動態(tài)及發(fā)展前景分析報告
- 2025-2030年中國酸奶冰淇淋市場運(yùn)行狀況與投資戰(zhàn)略研究報告
- 2025-2030年中國造船板市場運(yùn)行動態(tài)規(guī)劃分析報告
- 2025-2030年中國軟體家具制造行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國超高分子量聚乙烯纖維行業(yè)競爭策略規(guī)劃研究報告
- 2025-2030年中國負(fù)載均衡器行業(yè)運(yùn)行態(tài)勢及發(fā)展趨勢分析報告
- 2025-2030年中國航空飛行培訓(xùn)行業(yè)十三五規(guī)劃與投資戰(zhàn)略研究報告
- 2025-2030年中國糖醇市場運(yùn)營狀況及發(fā)展前景分析報告
- 2025-2030年中國米香型酒市場發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2024版年度經(jīng)濟(jì)法基礎(chǔ)完整全套課件
- JT-T-445-2021汽車底盤測功機(jī)
- 體育科學(xué):田徑考試考試題(三)
- 2024年4月自考03200預(yù)防醫(yī)學(xué)(二)試題
- 《研學(xué)旅行市場營銷》課件-模塊八 研學(xué)旅行促銷策略
- 糖尿病孕婦護(hù)理:案例分析
- 《過華清宮絕句(其一)》-【中職專用】高一語文(高教版2023基礎(chǔ)模塊下冊)
- (2024年)新版藥品管理法培訓(xùn)課件
- 2022年4月自考00808商法試題及答案含解析
- JGJT280-2012 中小學(xué)校體育設(shè)施技術(shù)規(guī)程
- 《光伏發(fā)電工程安全預(yù)評價規(guī)程》(NBT 32039-2017)
評論
0/150
提交評論