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