POJ 2395 Out of Hay 最小生成樹

2021-07-10 14:45:22 字數 878 閱讀 1693

**

usaco 2005 march silver

題目大意

有n(2-2000)個農場,m(1-10000)條通路連通各個農場,長度不超109,要求遍歷全部的農場,且每走1單位長度就要消耗一單位水,每到乙個農場可以把自己的水充滿,求最小的水箱容量。

樣例輸入

3 3

1 2 23

2 3 1000

1 3 43

樣例輸出

43

由於要遍歷每乙個節點,很容易想到是用最小生成樹的解法。本題用prim和kruskal都是可行解法,蒟蒻的m3於是就愉快的決定例程用kruskal啦~

求水箱的最小容量,即是求該生成樹上的最大邊權(因為每到乙個節點自動原地滿血復活,所以求最大代價即是求最長邊的長度)

#include #include #include #include #include #include using namespace std;

const int maxn=10000+5;

int n,m,ans;

int father[maxn];

struct dataline[maxn];

bool cmp(data a,data b)

void init()}

int findfa(int x)

int main()

sort(line+1,line+1+m,cmp); init();

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

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

return 0;

}

POJ2395 Out of Hay 最小生成樹

題意 農場之間相互連線,要求輸出最小連通中最長的那條邊的權值 要點 又是一道模板題,poj上最小生成樹咋這麼多水題,要做點難的啊。15347115 seasonal 2395 accepted 292k 79ms c 892b 2016 04 03 13 07 56 include include ...

POJ 2395 解題報告

題意 找到最小生成樹里的最大邊。思路 只需要將裸板子中,最小生成樹一直累加邊權的語句sum edge i w 更改為 if edge i w max max edge i w 最後輸出max即可。本人ac include include include include include include...

poj 2395 prime的遞迴實現

求最小水桶的大小,每到達乙個農村就能把水桶補滿。可見是用生成最小樹,求最大邊。關於prime個人感覺用遞迴實現會少乙個for的時間。本題的坑 輸入邊的時候要找最小的,不然會出錯。1 include2 include3 using namespace std 4const int inf 0x3f3f...