最大生成樹Bad Cowtractors

2021-08-22 06:02:33 字數 954 閱讀 7777

bessie被雇來在農民約翰的n(2<n=1000)穀倉中建立乙個廉價的網際網路網路,方便地編號為1…n.fj已經做了一些調查,發現m(1<m=20000)可能是穀倉之間的連線路線。每個可能的連線路徑具有相關的成本c(1<c<=100000)。農場主約翰想花最少的錢連線網路,他甚至不想付錢給bessie。

意識到農民約翰不會付錢給她,bessie決定盡可能做最差的工作。她必須決定要安裝的一組連線,以便(i)這些連線的總成本盡可能大,(ii)所有的穀倉連線在一起(這樣就可以通過安裝連線的路徑從任何其他穀倉到達任何穀倉),和(iii)因此沒有cy。克里斯之間的聯絡(農民約翰很容易就能發現)。條件(ii)和(iii)確保最後一組連線看起來像「樹」。

input

*第1行:兩個空間分離的整數:n和m

*行2…m + 1:每行包含三個空間分隔的整數a、b和c,描述成本c的穀倉a和b之間的連線路線。

output

*第1行:乙個整數,包含連線所有穀倉的最昂貴的樹的**。如果不可能連線所有穀倉,輸出- 1。

這是乙個裸的最大生成樹 但是初始化的時候不知道為什麼要判斷a[i][j]#includeusing namespace std;

#define max 99999999

int a[1010][1010];

int prim(int n)

while(time<=n-1)

if(minn==-max)

sum += minn;

flag[j] = true;

for(k = 1; k <=n; k++)

if(a[j][k] > low[k] && flag[k]==false)

low[k] = a[j][k];

time++;

}return sum;

}int main()

}while(m--)

}cout<}

return 0;

}

最大生成樹

problem a 古老的羊皮卷 time limit 3 sec memory limit 128 mb description 奇奇,乙個響亮的名字在acm界.如今奇奇已經腰纏萬貫,飛黃騰達,日子過的是無比的滋潤.是什麼使他到了如此的地位?如果你要這麼問,奇奇會不假思索的告訴你 acm 是acm...

最大生成樹

include define pp make pair using namespace std typedef long long ll const int maxn 1e6 30 const int n 260000 const ll mod 1e9 7 const int inf 0x3f3f3...

最大生成樹

最大生成樹演算法和最小生成樹演算法幾乎一樣,只需要我們把最小生成樹演算法進行一點點改變即可。當你用krushal演算法求最小生成樹的時候,每一次選取的邊都是最小的邊,然後再去判斷這條邊是否可以加入最小生成樹 那麼當你每一次選擇的邊是最大的邊,然後再去判斷這條邊是否可以加入,那麼這就是最大生成樹的求取...