暢通路問題之貪婪演算法

2022-03-22 18:41:08 字數 873 閱讀 9958

暢通路問題之貪婪演算法

描述某省調查鄉村交通狀況,得到的統計表中列出了任意兩村莊間的距離。省**「暢通工程」的目標是使全省任何兩個村莊間都可以實現公路交通(但不一定有直接的公路相連,只要能間接通過公路可達即可),並要求鋪設的公路總長度為最小。請計算最小的公路總長度。

輸入測試輸入包含若干測試用例。每個測試用例的第1行給出村莊數目n ( < 100 );隨後的n(n-1)/2行對應村莊間的距離,每行給出一對正整數,分別是兩個村莊的編號,以及此兩村莊間的距離。為簡單起見,村莊從1到n編號。

當n為0時,輸入結束,該用例不被處理。

輸出對每個測試用例,在1行裡輸出最小的公路總長度。

樣例輸入

31 2 1

1 3 2

2 3 4

41 2 1

1 3 4

1 4 1

2 3 3

2 4 2

3 4 5

0樣例輸出35

**如下:

#include#include#include#includeusing namespace std;

int f[1005],ans;

struct node

a[10005];

bool cmp(node n,node m)

int find (int n)

int merge(node k)

return 0;

}int main()

sort(a+1,a+1+m,cmp);

ans=0;

for(int i=1;i<=m;i++)

printf("%d\n",ans);

}return 0;

}

演算法之貪婪演算法

雖然設計乙個好的求解演算法更像是一門藝術,而不像是技術,但仍然存在一些行之有效的能夠用於解決許多問題的演算法設計方法,你可以使用這些方法來設計演算法,並觀察這些演算法是如何工作的。一般情況下,為了獲得較好的效能,必須對演算法進行細緻的調整。但是在某些情況下,演算法經過調整之後效能仍無法達到要求,這時...

貪婪演算法 裝箱問題

貪婪演算法求出的最終解不一定是最優解 儲存形式 鍊錶 型別宣告 1.排序物品體積時物品的型別 typedef struct elemg 2.裝箱時物品的型別typedef struct nodegoodslink 3.箱子節點typedef struct boxebox elemg init goo...

Python之貪婪演算法

np完全問題 找不到快速演算法的問題。識別np完全問題,以免浪費時間去尋找解決它們的快速演算法 沒辦法判斷問題是不是np完全問題,但還是有一些蛛絲馬跡可循的。1 元素較少時演算法的執行速度非常快,但隨著元素數量的增加,速度會變得非常慢。2 涉及 所有組合 的問題通常是np完全問題。3 不能將問題分成...