下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、圖論是ACM競(jìng)賽中比較重要的組成部分,其模型廣泛存在于現(xiàn)實(shí)生活之中。因其表述 形象生動(dòng),思維方式抽象而不離具體,因此深受各類喜歡使勁 YY的Acmer的喜愛。這篇文章引述圖論中有關(guān)有向圖最小生成樹的部分,具體介紹朱劉算法的求解思路,并結(jié)合一系列coding技巧,實(shí)現(xiàn)最小樹型圖0 (VE)的算法,并在最后提供了該算法的模版,以供參考。關(guān)于最小生成樹的概念,想必已然家喻戶曉。 給定一個(gè)連通圖,要求得到一個(gè)包含所有頂點(diǎn)的樹(原圖的子圖),使之所構(gòu)成的邊權(quán)值之和最小。在無(wú)向圖中,由于邊的無(wú)向性質(zhì),所以求解變得十分容易,使用經(jīng)典的kruskal與prim算法已經(jīng)足夠解決這類問(wèn)題。而在有向圖中,則定義要稍
2、微加上一點(diǎn)約束,即以根為起點(diǎn),沿給定有向邊,可以訪問(wèn)到所有的點(diǎn),并使所構(gòu)成的邊權(quán)值之和最小,于是問(wèn)題開始變得不一樣了,我們稱之為最小樹型圖問(wèn)題。該問(wèn)題是由朱永津與劉振宏在上個(gè)世紀(jì)60年代解決的,值得一提的是,這 2個(gè)人現(xiàn)在仍然健在,更另人敬佩的是,朱永津幾乎可以說(shuō)是一位盲人。解決最小樹型圖的算法后來(lái)被稱作朱劉算法,也是當(dāng)之無(wú)愧的。首先我們來(lái)闡述下算法的流程:算法一開始先判斷從固定根開始是否可達(dá)所有原圖中的點(diǎn),若不可,則一定不存在最小樹形圖。這一步是一個(gè)很隨便的搜索,寫多搓都行,不加廢 話。第二步,遍歷所有的邊,從中找出除根結(jié)點(diǎn)外各點(diǎn)的最小入邊,累加權(quán)值,構(gòu)成新圖。 接著判斷該圖是否存在環(huán)。若不
3、存在,則該圖便是所求最小樹型圖,當(dāng)前權(quán)為最小權(quán)。否則對(duì)環(huán)縮點(diǎn),然后回到第二步繼續(xù)判斷。這里存在一系列細(xì)節(jié)上的實(shí)現(xiàn)問(wèn)題,以確保能夠達(dá)到VE的復(fù)雜度。首先是查環(huán),對(duì)于新圖來(lái)說(shuō)只有n-1條入邊,對(duì)于各條入邊,其指向的頂點(diǎn)是唯一的,于是我們可以在邊表中 添加from,表示該邊的出發(fā)點(diǎn),并考慮到如果存在環(huán),則對(duì)環(huán)上所有邊反向,環(huán)是顯然同 構(gòu)的,于是最多作V次dfs就能在新圖中找到所有的環(huán),并能在遞歸返回時(shí)對(duì)頂點(diǎn)重標(biāo)號(hào)進(jìn)行縮點(diǎn),此步的重標(biāo)號(hào)可以用hash數(shù)組映射。然后就是重要的改邊法,對(duì)于所有不在環(huán)上的邊,修改其權(quán)為 w-min(v) ,w為當(dāng)前邊權(quán),min(v)為當(dāng)前連接v點(diǎn)的最小邊權(quán)。其數(shù)學(xué) 意義在于
4、選擇當(dāng)前邊的同時(shí)便放棄了原來(lái)的最小入邊。我們可以知道,每次迭代選邊操作 O(E),縮點(diǎn)操作 O(V),更新權(quán)操作 O(E),至少使一個(gè)頂點(diǎn)歸入生成樹,于是能在V-1步內(nèi)完成計(jì)算,其復(fù)雜度為 O(VE)。以上為定根最小樹型圖, 對(duì)于無(wú)固定根最小樹型圖,只要虛擬一個(gè)根連所有的點(diǎn)的權(quán)為邊權(quán)總和+1,最后的結(jié)果減去(邊權(quán)+1)即可。另外對(duì)于求所定的根標(biāo)號(hào),只要搜索被選中 的虛邊就可以判斷了。#in elude <cstdio>#in elude <iostream>#in elude <cmath>#in elude <estri ng>using n
5、amespaee std;con st int N=101,M=10001,i nf=2147483647;struet edge int u,v,w; eM;int n,m,a ns,idN,preN,vN,i nwN;void zhu_liu(i nt root)int s,t,idx =n;while (idx)for (int i=1;i<=n;+i) in wi=i nf,idi=-1,vi=-1; for (int i=1;i<=m;+i)s=ei.u;t=ei.v;if (ei.w> in wt | s=t) continue; pret=s;in wt=ei.
6、w;in wroot=0;preroot=root;for (int i=1;i<=n;+i)if (in wi=i nf)prin tf("impossiblen");return;an s+=in wi;idx=0;for (int i=1;i<=n;+i)if (vi=-1)t=i;while (vt=-1) vt=i,t=pret; if (vt!=i | t=root) continue; idt=+idx;for (s=pret;s!=t;s=pres) ids=idx;if (idx=O) con ti nue;for (int i=1;i<=n;+i)if (idi=-1) idi=+idx;for (int i=1;i<=m;+i)ei.w-=i nwei.v;ei.u=idei.u;ei.v=idei.v;n=idx;root=idroot;prin tf("%dn",a ns);int mai n()scan f("%d%d",&n,&m);for (in t i=1;i<=m;+i)scan f("%d%d%d", &ei.u, &ei.v, &ei.w); zhuiu(1);return
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年心理測(cè)試變態(tài)考試題庫(kù)及答案參考
- 2026年廣東食品藥品職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及答案1套
- 2026年寧德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及答案1套
- 2026年建筑電工期末試題及答案(名校卷)
- 2026年河南科技職業(yè)大學(xué)單招職業(yè)適應(yīng)性測(cè)試模擬測(cè)試卷附答案
- 2026年朔州陶瓷職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及答案1套
- 2026云南文山州馬關(guān)縣中醫(yī)醫(yī)院面向社會(huì)招聘2名編外中藥學(xué)專業(yè)技術(shù)人員筆試備考題庫(kù)及答案解析
- 2026年山東省臨沂市單招職業(yè)適應(yīng)性測(cè)試模擬測(cè)試卷及答案1套
- 2025年合肥產(chǎn)投康養(yǎng)集團(tuán)有限公司及子公司社會(huì)招聘17名考試備考題庫(kù)附答案
- 2025年中國(guó)廣電甘肅網(wǎng)絡(luò)股份有限公司臨夏州分公司招聘筆試備考題庫(kù)附答案
- T/CECS 10310-2023水性聚氨酯防水涂料
- T/CCT 007-2024煤化工廢水處理運(yùn)營(yíng)能力評(píng)價(jià)
- GB/T 45554-2025種豬生產(chǎn)性能測(cè)定技術(shù)規(guī)范
- 食品居間合同協(xié)議
- 2022學(xué)年上海復(fù)旦附中高一(上)期末信息技術(shù)試題及答案
- 廣東省廣州市白云區(qū)2024-2025學(xué)年六年級(jí)(上)期末語(yǔ)文試卷(有答案)
- 心內(nèi)科護(hù)理帶教工作總結(jié)
- 知行合一實(shí)踐出真知主題班會(huì)
- GB/T 45166-2024無(wú)損檢測(cè)紅外熱成像檢測(cè)總則
- 山東省菏澤市東明縣2024-2025學(xué)年七年級(jí)上學(xué)期考試生物試題
- 北京市海淀區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期語(yǔ)文期末試卷(含答案)
評(píng)論
0/150
提交評(píng)論