給定一棵樹,問以其為唯一最小生成樹的完全圖的邊權和最大為多少。
並查集維護大小,按 kr
usca
l kru
scal
的方法,每次貪心連邊。**見下:
#include
using
namespace
std;
#define r register
#define maxn 20005
#define ll long long
int t,n,fa[maxn],siz[maxn];
ll ans;
struct edge
e[maxn];
int find(r int x)
inline
bool cmp(r edge x,r edge y)
printf("%lld\n",ans);
}return
0;}
並查集水題
已知n個人序號為1 n,分別屬於若干個團隊,有m條線索表明某兩個人屬於同乙個團隊,那麼這n個人一共有幾個團隊。輸入第一行為兩個數n和m,第2到m 1行為m條線索 每行兩個數a,b表示序號為a和為b的兩個人在同一隊伍中。輸出為乙個數,表示隊伍個數。示例資料 輸入 10 9 1 23 4 5 24 6 ...
並查集水題 POJ 1611
題意 有n n 30000 個學生,每個學生屬於乙個團體 可以屬於多個團體 共有m 500 個團體,如果乙個學生是嫌疑人,則他所在的團體的所有人都是嫌疑人,初始時0號學生是嫌疑人。問總共有多少個嫌疑人。很明顯同乙個團體的學生可以連一條邊,即求0號點所在的連通塊有多少個點,用並查集可以很方便的辦到,如...
HDU1863(Kruskal 並查集水題)
省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有直接的公路相連,只要能間接通過公路可達即可 經過調查評估,得到的統計表中列出了有可能建設公路的若干條道路的成本。現請你編寫程式,計算出全省暢通需要的最低成本。input測試輸入包含若干測試用例。每個測試用例的第1行給出評估的道路...