poj2377解題報告

2021-07-03 23:23:10 字數 579 閱讀 7231

題目大意:有n個點(穀倉),有m條路,以及他們的造價,找到最大的造價,其中每乙個穀倉要能夠到到達其他的任意乙個穀倉。

解題思路:mst最大生成樹,其中需要注意的是要保證連通性,這一點把並查集遍歷一遍,看是否有乙個以上的代表元即可。

#include#include#include#includeusing namespace std;

const int maxn=100000+1000;

int u[maxn],v[maxn],w[maxn],p[maxn],r[maxn],n,m;//陣列u儲存起始點,陣列v儲存終點,陣列w儲存邊權,m是邊數,n是點數

int cmp(const int i,const int j) //求的是最大生成樹

int find(int x)

int kruskal()

if(cou==n-1)

}if(cou1) break;

}if(cnt==1) printf("%d\n",tmp);

else printf("-1\n");

}return 0;

}

POJ 2377 最大生成樹

每日一看 題意 現在有乙個人給人修建一些線路,當然,我們想要少花錢消費,人家就想多多賺你的錢了,現在就給出這麼乙個問題 讓你求修得所有電路能賺取的最大利潤,若電路不能被全部修完,輸出 1 分析 最小生成樹模板改一改就好啦 include include include using namespace...

poj2377 最大生成樹kruskal

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

poj解題報告 1328

不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...