解題思路:
貪心思想,按照邊的擁擠度從小到大合併兩個點,每次合併之後判斷 \(s\) 和 \(t\) 是否在乙個集合中,
如果不在,則繼續;如果在,就輸出這條邊的擁擠度並結束。
實現**如下:
#include using namespace std;
const int maxn = 10010, maxm = maxn*2;
int n, m, s, t, f[maxn];
struct edge edge[maxm];
bool cmp(edge a, edge b)
void init()
int find(int x)
void union(int x, int y)
int main()
}return 0;
}
洛谷P1396 營救 題解
這其實一看就是乙個最短路的近似模板的題目,但我們要注意到兩個區之間可能會有多條道路,所以說我們只需要在最短路模板的基礎上把加和改為最大值即可,因為題目還說了要求出最後的結果是最大值的最小,所以我們可能會自然而然的想到二分,然而此題跑個dijkstra或spfa甚至是克魯斯卡爾最小生成樹都行。然而據某...
題解 洛谷P1396 營救
題目傳送門 一道並查集 二分的題。刷水題找信心 看到最大的最小就想到二分。那就稍微看看單調性 易得存在乙個滿足題意的擁擠度 w 並且使得 w 1 不滿足題意,而 w 1 滿足題意。稍微想想可知此題滿足二分的單調性,就可以二分 w 來求解。考慮二分的檢查函式,題目只要求我們判斷圖上兩個節點是否連通,那...
洛谷 P1396 營救
題目描述 咚咚咚 查水表!原來是查水表來了,現在 找這麼熱心上門的查表員啊!小明感動的熱淚盈眶,開起了門 媽媽下班回家,街坊鄰居說小明被一群陌生人強行押上了警車!媽媽豐富的經驗告訴她小明被帶到了t區,而自己在s區。該市有m條大道連線n個區,一條大道將兩個區相連線,每個大道有乙個擁擠度。小明的媽媽雖然...