
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、解題本題是一個(gè)森林的動(dòng)態(tài)連通性問題,采用并查集或者每次詢問直接遍歷一遍整個(gè)圖的做法之間復(fù)雜度為 O(nm),實(shí)現(xiàn)得好有可能在本題時(shí)限 4s 內(nèi)通過一半左右的數(shù)據(jù)。一種比較好的解法是采用一種叫作動(dòng)態(tài)樹(Dynamic Tree)的數(shù)據(jù)結(jié)構(gòu)來節(jié)點(diǎn)間的連通情況。整個(gè)森林中各個(gè)動(dòng)態(tài)樹支持以下 5 種操作: Make_Tree(),建立一棵只含有一個(gè)節(jié)點(diǎn)的樹 Evert(v),使節(jié)點(diǎn) v 成為所在樹的有根樹表示中的樹根Link(u,v),在節(jié)點(diǎn) u 和節(jié)點(diǎn) v 之間加入一條邊,使這兩個(gè)點(diǎn)所在的樹相互連通。該操兩節(jié)點(diǎn)在操作前不連通。定Cut(u,v),刪除邊(u,v)。該操定邊(u,v)存在Find_Ro
2、ot(v),返回節(jié)點(diǎn) v 所在樹的有根樹表示中的樹根動(dòng)態(tài)樹的后四個(gè)操作中都要調(diào)用的一個(gè)操作是 Acs(v),通過“”節(jié)點(diǎn) v 的方式,將 v 所在的有根樹中從樹根到節(jié)點(diǎn) v 的路徑剖分出來并單獨(dú)。相鄰(也就是在樹中被某條邊連結(jié))的路徑通過指針 path_parent 連接。由于本問題中初始時(shí)刻沒有任何邊存在,而每次添加、刪除邊操作都必須剖分。相應(yīng)節(jié)點(diǎn),因而動(dòng)態(tài)樹能保證所有的樹都被一些路徑完全比如某時(shí)刻動(dòng)態(tài)樹所的某棵樹的路徑剖分以及一個(gè)節(jié)點(diǎn)后的路徑剖分如下圖所示(粗線表示剖分的路徑):圖 1由于每條路徑具有線性次序關(guān)系,又需要頻繁進(jìn)行路徑間的合并、分離、翻轉(zhuǎn)操作,故每條路徑均采用伸展樹(Spla
3、y Tree)實(shí)現(xiàn),伸展樹點(diǎn)的大小為其在樹中的深度。具體實(shí)現(xiàn)的時(shí)候,不必顯式每個(gè)節(jié)點(diǎn)的深度,只要保證每棵伸展樹的中序遍歷結(jié)果與路徑相同即可。如圖 1 左邊的采用伸展樹路徑后的示意圖如下:圖 2Acs(v)操作要將節(jié)點(diǎn) v 到根節(jié)點(diǎn)的路徑出來,過程分為兩步首先,將 v 在其所在伸展樹中移動(dòng)到根節(jié)點(diǎn),并將它與其右于節(jié)點(diǎn) v 下方的節(jié)點(diǎn))分離,并設(shè)置其已經(jīng)被獨(dú)立出來的右點(diǎn) v(也就是在原先的路徑中位的 path_parent 指針指向節(jié)然后,利用 v 所在伸展樹的 path_parent 指針,不斷將 v 所在伸展樹與 path_parent 所指向的伸展樹合并,直到 path_parent 指針懸
4、空為止如此便將從根節(jié)點(diǎn)到節(jié)點(diǎn) v 的路徑剖分出來單獨(dú)了Find_Root(v)操作較為簡單,節(jié)點(diǎn) v 之后,找到 v 所在的伸展樹中的最小節(jié)點(diǎn),此即為 v所在有根樹中的深度最小的祖先,也就是樹根Evert(v)操作相當(dāng)于將從樹根到節(jié)點(diǎn) v 的路徑上的所有邊都反向。的伸展樹順序翻轉(zhuǎn)即可。節(jié)點(diǎn) v 之后,將 v 所在Link(u,v)操作需要在兩個(gè)節(jié)點(diǎn)間連接一條邊,由于采用有根樹表示,必須先保證其中一個(gè)是某棵樹的根節(jié)點(diǎn)。此處先將 u 置為所在樹中的根節(jié)點(diǎn),再將該節(jié)點(diǎn)在其伸展樹中移動(dòng)到根節(jié)點(diǎn)位置。由于 u 已經(jīng)是深度最小的節(jié)點(diǎn),因而它在伸展樹中的節(jié)點(diǎn)為空。再將節(jié)點(diǎn) v移動(dòng)到伸展樹的根節(jié)點(diǎn)處,然后將
5、v 設(shè)置為 u 的操作。節(jié)點(diǎn),即完成將 u 設(shè)為 v 的一棵的Cut(u,v)操作時(shí),首先將 u 置為有根樹的根節(jié)點(diǎn),從而使 v 一定是 u 的子節(jié)點(diǎn)。節(jié)點(diǎn) v,此時(shí)伸展樹中 v 的樹就是路徑中 v 的祖先部分。將 v 與其樹分離,就實(shí)現(xiàn)了有根樹中刪除邊(u,v),將一棵樹變?yōu)閮煽脴涞牟僮鳌R陨纤胁僮骶谏煺箻涞幕静僮?,比如合并、分離、移動(dòng)某個(gè)節(jié)點(diǎn)到樹根位置,這些操作都是均攤時(shí)間復(fù)雜度 O(logn)的??梢宰C明 Ac s(v)操作對路徑的改動(dòng)是每次操作均攤 O(1)次,而其他各操作只需要調(diào)用常數(shù)次的 Ac s()以及常數(shù)次的伸展樹基本操作,因此以上每個(gè)操作的均攤時(shí)間復(fù)雜度為 O(logn)有了動(dòng)態(tài)樹數(shù)據(jù)結(jié)構(gòu),本題中的 Connect 和 Destroy 均可以用對應(yīng)的 Cut 和 Link 操作實(shí)現(xiàn), Query 操作只需要比較兩個(gè)節(jié)點(diǎn)所在有根樹的根節(jié)點(diǎn)是否相同即可??偣驳臅r(shí)間復(fù)雜度為 O(m logn),可以在 1s 內(nèi)通過本題的所有數(shù)據(jù)。參考文獻(xiàn):1D. D. Sleator, R. E. Tarjan, A Data Structure for Dynamic Trees, JournalScien., Vol.26, No.3, June 1983, 362-391.puter and Syst
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鋼絲清潔擦項(xiàng)目投資可行性研究分析報(bào)告
- 氣動(dòng)液壓穩(wěn)流裝置行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 2021-2026年中國車用柴油發(fā)動(dòng)機(jī)行業(yè)投資分析及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025年家具座墊行業(yè)深度研究分析報(bào)告
- 2025年盤頭自攻螺絲行業(yè)深度研究分析報(bào)告
- 2025年外貿(mào)專用自封袋行業(yè)深度研究分析報(bào)告
- 漁場菜籃子建設(shè)項(xiàng)目可行性研究報(bào)告
- 年產(chǎn)6.66萬噸滌綸POY絲項(xiàng)目可行性研究報(bào)告
- 2025年螺母套行業(yè)深度研究分析報(bào)告
- 2025年塑鋼線行業(yè)深度研究分析報(bào)告
- 火災(zāi)自動(dòng)報(bào)警及其消防聯(lián)動(dòng)系統(tǒng)技術(shù)規(guī)格書
- 設(shè)備管理人員安全培訓(xùn)
- 山東省房屋市政工程安全監(jiān)督機(jī)構(gòu)人員業(yè)務(wù)能力考試題庫-上(單選題)
- 2024年六西格瑪黃帶認(rèn)證考試練習(xí)題庫(含答案)
- 《公務(wù)員行測必會(huì)考試寶典》大全(分類)-2資料分析類試題庫(含答案)
- 2024年山東?。椙f、菏澤、臨沂、聊城)中考語文試題含解析
- 財(cái)務(wù)審計(jì)服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 2024-2025學(xué)年小學(xué)科學(xué)六年級下冊蘇教版(2024)教學(xué)設(shè)計(jì)合集
- 初中八年級英語翻譯專項(xiàng)集中訓(xùn)練100題含參考答案
- 新型智慧水利項(xiàng)目數(shù)字孿生工程解決方案
- 甘肅省白銀市2024年中考英語真題
評論
0/150
提交評論