POJ 2377 最大生成樹

2021-08-03 11:34:42 字數 592 閱讀 2668

每日一看

題意:現在有乙個人給人修建一些線路,(當然,我們想要少花錢消費,人家就想多多賺你的錢了,現在就給出這麼乙個問題)。讓你求修得所有電路能賺取的最大利潤,若電路不能被全部修完,輸出「-1」.

分析:最小生成樹模板改一改就好啦~

#include #include #include using namespace std;

#define maxn 1100

#define oo 0x3f3f3f3f

int maps[maxn][maxn], dist[maxn], v[maxn];

int n, m;

int prim()

}if(mins == -1) return -1;

sum += mins;

v[index] = 1;

for(int j=1; j<=n; j++)

}return sum;

}int main()

int ans;

ans = prim();

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

return 0;

}

poj2377 最大生成樹kruskal

題意 現在有乙個人給人修建一些線路,當然,我們想要少花錢消費,人家就想多多賺你的錢了,現在就給出這麼乙個問題 讓你求修得所有電路能賺取的最大利潤,若電路不能被全部修完,輸出 1 思路 其實只是一道kruskal的模板題,但是他求的是最大生成樹,只要一開始排序的時候把邊從大到小排即可 或者prim演算...

poj2377解題報告

題目大意 有n個點 穀倉 有m條路,以及他們的造價,找到最大的造價,其中每乙個穀倉要能夠到到達其他的任意乙個穀倉。解題思路 mst最大生成樹,其中需要注意的是要保證連通性,這一點把並查集遍歷一遍,看是否有乙個以上的代表元即可。include include include includeusing ...

POJ 3723 最大生成樹

天啦嚕t t。稍微的分析看得出這個招募順序是乙個森林,然後想不到是最大生成樹。很裸。每乙個關係就是兩個點加一條邊,構建乙個最大生成樹,每次檢查兩個點是否招募了,不管兩個點是只有乙個沒招募還是兩個都沒招募,都是新增到最大生成樹中去,然後這樣都會節省出d的錢。最後用總錢數減去節省的錢就行了。includ...