HDU3938 並查集 並查集

2021-05-27 09:35:28 字數 670 閱讀 3480

先按邊權值排個序,每次加入一條邊,用並查集,關鍵看懂題。

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

const int maxn = 10010;

int n,m,q;

struct edge

}edges[maxn*5];

inline int cmp(edge a,edge b)

struct qsq[maxn];

int ans[maxn];

inline int cmp1(qs a,qs b)

int f[maxn],r[maxn];

inline int find(int x)

return f[x];

}int main()

sort(q,q+q,cmp1);

int st = 0,sum;

for(int i = 0; i < n; ++i)

sum = 0;

for(int i = 0; i < q; ++i)

st ++;

}ans[q[i].index] = sum;

}for(int i = 0; i < q; ++i)

} return 0;

}

並查集 並查集

本文參考了 挑戰程式設計競賽 和jennica的github題解 陣列版 int parent max n int rank max n void init int n int find int x else void union int x,int y else 結構體版 struct node ...

hdu 3938 Portal 離線 並查集

題意描述 簡單的講就是,給你一張無向圖,求有多少條路徑使得路徑上的花費小於l,這裡路徑上的花費是這樣規定的,a b兩點之間的多條路徑中的最長的邊最小值!思路 原理最小生成樹,相通的點是乙個集合,兩個集合合併的時候,裡面的點數乘積就是合併之後的路徑數 include include includeus...

HDU 3938 Portal (並查集 離線)

兩點之間建立傳送門需要的能量為他們之間所有路徑裡最小的t,一條路徑的t為該路徑上最長的邊的長度。現在 q 個詢問,問 l 能量可以選擇多少種不同點對?因為小的能量找出的點對,在大的能量下肯定也能建立傳送門,因此把詢問記下來,按詢問的能量從小到大計算,這樣離線處理。從小到大列舉新增每條能量不超過當前能...