luogu整理 P1396 營救 最短路演算法

2022-05-05 16:33:07 字數 914 閱讀 2635

給定n個點和m條邊,每條邊有一定的權值,求找出一條路徑,使得這條路徑上的每一條邊的權值的最大值最小。

用鄰接表儲存邊,用廣度優先搜尋遍歷整棵樹,得到答案。整體操作類似最短路,只不過中間需要更改。這個東西的思路還有點類似dp,但是我怎麼寫也寫不出來。

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

struct edgeedge[10099];

int n,m;

int s,t;

int cnt = 0;

int head[10099];

int vis[10099];

int ans[10099];

int ans1[10099];

void add_edge(int x,int y,int z)

queueq;

int main()

q.push(s);

vis[s] = 1;

ans[s] = 0;

ans[s] = 0;

cout << s << ' ';

int anss = 10099;

while(!q.empty())

}cout << endl;

cout << endl;

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

// int ans = 100000;

// for(int i = head[t];i;i = edge[i].nxt)

// cout << ans << endl;

cout << ans[t] << endl;

cout << anss << endl;

return 0;

}

P1396 營救 題解

題目傳送門 這題有好幾種方法可以做,有跑最短路的,有些最小生成樹的。這裡介紹最短路的方法。單源最短路徑,很自然地想到 dijkstra。不過題目要求的是最大值最小,所以鬆弛就要改成 if dis v max dis u e i w dis v max dis u e i w include usin...

洛谷 P1396 營救

題目描述 咚咚咚 查水表!原來是查水表來了,現在 找這麼熱心上門的查表員啊!小明感動的熱淚盈眶,開起了門 媽媽下班回家,街坊鄰居說小明被一群陌生人強行押上了警車!媽媽豐富的經驗告訴她小明被帶到了t區,而自己在s區。該市有m條大道連線n個區,一條大道將兩個區相連線,每個大道有乙個擁擠度。小明的媽媽雖然...

洛谷 P1396 營救

題目描述 咚咚咚 查水表!原來是查水表來了,現在 找這麼熱心上門的查表員啊!小明感動的熱淚盈眶,開起了門 媽媽下班回家,街坊鄰居說小明被一群陌生人強行押上了警車!媽媽豐富的經驗告訴她小明被帶到了t區,而自己在s區。該市有m條大道連線n個區,一條大道將兩個區相連線,每個大道有乙個擁擠度。小明的媽媽雖然...