Knight
KNIGHT
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
posts - 74, comments - 33, trackbacks - 0
最小樹形圖
對于最小樹形圖前幾天做了n個不定根的最小樹形圖,因?yàn)閚<16對此我用的是dp方法WS過去了那道題目,0.3s相對于最小樹形圖的正確解法的0.001實(shí)在是慚愧,為此也找到了一種最小樹形圖的DP解法當(dāng)然n<16時間和空間上才能受得了。
再談朱劉算法解決最小樹形圖問題:下面是轉(zhuǎn)載的資料:
有固定根的最小樹形圖求法O(VE):
首先消除自環(huán),顯然自環(huán)不在最小樹形圖中。然后判定是否存在最小樹形圖,以根為起點(diǎn)DFS一遍即可。
之后進(jìn)行以下步驟。
設(shè)cost為最小樹形圖總權(quán)值。
0
.置cost
=
0
。
1
.求最短弧集合Ao?(一條弧就是一條有向邊)
除源點(diǎn)外,為所有其他節(jié)點(diǎn)Vi,找到一條以Vi為終點(diǎn)的邊,把它加入到集合Ao中。
(加邊的方法:所有點(diǎn)到Vi的邊中權(quán)值最小的邊即為該加入的邊,記prev[vi]為該邊的起點(diǎn),mincost[vi]為該邊的權(quán)值)
2
.檢查Ao中的邊是否會形成有向圈,有則到步驟3,無則到步驟4。
(判斷方法:利用prev數(shù)組,枚舉為檢查過的點(diǎn)作為搜索的起點(diǎn),做類似DFS的操作)
3
.將有向環(huán)縮成一個點(diǎn)。
假設(shè)環(huán)中的點(diǎn)有(Vk1,Vk2,…?,Vki)總共i個,用縮成的點(diǎn)叫Vk替代,則在壓縮后的圖中,其他所有不在環(huán)中點(diǎn)v到Vk的距離定義如下:
gh[v][Vk]
=
min?
{?gh[v][Vkj]
-
mincost[Vkj]?}
?(
1
<=
j
<=
i)而Vk到v的距離為
gh[Vk][v]
=
min?
{?gh[Vkj][v]?}
??????????????(
1
<=
j
<=
i)
同時注意更新prev[v]的值,即if(prev[v]
==
Vkj)?prev[v]
=
Vk
另外cost
=
cost
+
mincost[Vkj]?(
1
<=
j
<=
i)
到步驟1.
4
.cost加上Ao的權(quán)值和即為最小樹形圖總權(quán)值。
如要輸出最小樹形圖較煩,沒實(shí)現(xiàn)過。
找環(huán)O(V),收縮O(E),總復(fù)雜度O(VE)。
那幅對我有莫大幫助的流程圖如下,
對于不固定根的最小樹形圖,wy教主有一巧妙方法。摘錄如下:
新加一個點(diǎn),和每個點(diǎn)連權(quán)相同的邊,這個權(quán)大于原圖所有邊權(quán)的和,這樣這個圖固定跟的最小樹形圖和原圖不固定跟的最小樹形圖就是對應(yīng)的了。
這分資料上在理論上證明并不完整導(dǎo)致看上去也許多不解之處.......而具體證明建議是自己按照資料上說的出幾個帶環(huán)的圖然后按照上面說一布一步執(zhí)行慢慢的就會理解證明,
對于實(shí)現(xiàn)代碼建議自己先寫一份然后搜一份模板比對一下。
posted on 2009-04-30 17:16
KNIGHT
閱讀(1313)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 KNIGHT Powered By:
博客園
模板提供:
滬江博客
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(8)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2009年6月 (4)
2009年5月 (14)
2009年4月 (12)
2009年3月 (10)
2009年2月 (12)
2009年1月 (10)
2008年12月 (12)
文章檔案
2009年3月 (1)
Friends
OJ
HEU
PKU
ZJU
搜索
最新評論
1.?re: (轉(zhuǎn)載)TopCoder入門手冊
好,學(xué)習(xí)了
--wuyiqi
2.?re: Knights
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--Lightning
3.?re: Knights
請問您說的奇偶性不同的x,y是指什么?
--Lightning
4.?re: [ZZ]后綴數(shù)組[未登錄]
@愛上對方
請你仔細(xì)閱讀標(biāo)題
【ZZ】轉(zhuǎn)載。。懂
--Knight
5.?re: [ZZ]后綴數(shù)組
請你不要抄
--愛上對方
閱讀排行榜
1.?(轉(zhuǎn)載)TopCoder入門手冊(6475)
2.?淺談2—SAT問題(6220)
3.?分而治之算法---距離最近的點(diǎn)對 (2773)
4.?poj 3648 Wedding(1443)
5.?最小樹形圖(1313)
評論排行榜
1.?Making the Grade(3)
2.?poj 3648 Wedding(3)
3.?[ZZ]后綴數(shù)組(2)
4.?Knights(2)
5.?感(2)
一本久久久久久久
|
久久国语露脸国产精品电影
|
亚洲欧美成人久久综合中文网
|
国产巨作麻豆欧美亚洲综合久久
|
国产91久久精品一区二区
|
国产精品久久99
|
久久精品无码一区二区三区日韩
|
久久久噜噜噜久久中文字幕色伊伊
|
久久人妻少妇嫩草AV无码蜜桃
|
久久激情五月丁香伊人
|
一本大道久久香蕉成人网
|
7777精品久久久大香线蕉
|
72种姿势欧美久久久久大黄蕉
|
国产精品成人无码久久久久久
|
久久一区二区三区99
|
中文字幕乱码久久午夜
|
国产精品久久久久影院嫩草
|
久久精品国产亚洲Aⅴ香蕉
|
热久久最新网站获取
|
97久久超碰国产精品旧版
|
久久精品国产WWW456C0M
|
中文字幕人妻色偷偷久久
|
伊人久久大香线蕉精品
|
久久久久久久免费视频
|
久久精品这里热有精品
|
久久久久久精品无码人妻
|
999久久久国产精品
|
久久久国产精华液
|
精品国产综合区久久久久久
|
亚洲国产精品无码久久98
|
久久久久久久亚洲精品
|
久久91精品国产91久久小草
|
亚洲国产视频久久
|
久久精品女人天堂AV麻
|
国产精品久久久福利
|
综合网日日天干夜夜久久
|
一极黄色视频久久网站
|
国产一区二区精品久久岳
|
久久精品成人免费网站
|
国产91色综合久久免费分享
|
欧美va久久久噜噜噜久久
|