PKU 1679 The Unique MST 【圖論】【 次小生成樹】

【題目地址】

  http://acm.pku.edu.cn/JudgeOnline/problem?id=1679

 

【題目大意】

  給定帶權無向圖,求最小生成樹是否唯一,若唯一,輸出最小權和;否則,輸出"Not Unique!".

 

【解題思路】

  求最小生成樹權值和MST1,次小生成樹MST2,判斷MST1==?MST2即可。

  次小生成樹可有最小生成樹換一條邊得到。時間複雜度V^2。

  step 1 

        先用prim求出最小生成樹T。在prim的同時,用一個矩陣max[u][v]記錄在T中連接任意兩點u,v的唯一的路中權值最大的那條邊的權值。(注意這裏)。這是很容易做到的,因爲prim是每次增加一個結點s,而設已經標號了的結點集合爲w,則w中所有點結點到s的路中的最大權值的邊就是當前加入的這條邊。step 1用時O(V^2)。

 

  step 2

        枚舉所有不再T的邊u_v,加入邊u_v替換權威max[u][v]的邊,不斷更新求最小值,即次小生成樹。step 2用時O(E)。故總時間O(V^2).

 

【代碼】

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章