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演算法求最小生成樹的時候,每一次選取的邊都是最小的邊,然後再去判斷這條邊是否可以加入最小生成樹 那麼當你每一次選擇的邊是最大的邊,然後再去判斷這條邊是否可以加入,那麼這就是最大生成樹的求取...