无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

并查集DUS

2023-04-11 12:36 作者:米諾斯人  | 我要投稿

并查集:把集合中元素的關(guān)系構(gòu)造為一棵樹(shù);

路徑壓縮優(yōu)化:在查詢子節(jié)點(diǎn)的根的時(shí)候,壓縮整個(gè)枝干到root,形成菊花樹(shù);

子樹(shù)合并優(yōu)化:在合并兩棵樹(shù)的時(shí)候,把深度小的樹(shù)作為子樹(shù)合到深度大的樹(shù)上,合并后的樹(shù)根深度++(注意排除樹(shù)根相同的假合并)

兩種優(yōu)化一起使用:路徑壓縮時(shí)要保證root的深度更新


相比DFS或BFS,DUS的優(yōu)點(diǎn)是在多次查詢時(shí),每次查詢都可以優(yōu)化以后查詢的速度。對(duì)于每個(gè)分裂的連通圖(樹(shù)枝),僅第一次查詢要遍歷整條枝干,往后都是O(1)復(fù)雜度。

(洛谷P1551)親戚

題目背景
若某個(gè)家族人員過(guò)于龐大,要判斷兩個(gè)是否是親戚,確實(shí)還很不容易,現(xiàn)在給出某個(gè)親戚關(guān)系圖,求任意給出的兩個(gè)人是否具有親戚關(guān)系。
題目描述
規(guī)定:x和y是親戚,y和z是親戚,那么x和z也是親戚。如果x,y是親戚,那么x的親戚都是y的親戚,y的親戚也都是x的親戚。
輸入格式
第一行:三個(gè)整數(shù)n,m,p,(n<=5000,m<=5000,p<=5000),分別表示有n個(gè)人,m個(gè)親戚關(guān)系,詢問(wèn)p對(duì)親戚關(guān)系。
以下m行:每行兩個(gè)數(shù)Mi,Mj,1<=Mi,Mj<=N,表示Mi和Mj具有親戚關(guān)系。
接下來(lái)p行:每行兩個(gè)數(shù)Pi,Pj,詢問(wèn)Pi和Pj是否具有親戚關(guān)系。
輸出格式
P行,每行一個(gè)’Yes’或’No’。表示第i個(gè)詢問(wèn)的答案為“具有”或“不具有”親戚關(guān)系。

本題中,如果用搜索算法,每次查詢效率為O(n),而用并查集可以做到平均效率接近O(1)。


并查集DUS的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
凤城市| 广水市| 南康市| 大荔县| 九寨沟县| 金昌市| 托克托县| 开原市| 石河子市| 青冈县| 当涂县| 漳平市| 厦门市| 临泉县| 庆元县| 嘉荫县| 岢岚县| 怀安县| 察哈| 博乐市| 澎湖县| 蒲江县| 遂溪县| 平邑县| 鸡西市| 孟村| 滕州市| 抚顺县| 玛沁县| 六盘水市| 衡南县| 白城市| 台湾省| 仁寿县| 凤台县| 潜江市| 定安县| 和龙市| 雅江县| 崇仁县| 琼结县|