傳送門:
參考:題意:給出乙個無向圖,求一條從 1 到 2 的路徑,使得路徑上的最大邊權最小;
思路:dij將距離更新改成取最大值即可,即dis[i]表示到達i點過程中的最大邊權,更新後可能多個,再靠優先佇列取出最小的最大邊權。
#include #include#include
#include
#include
#include
#include
using
namespace
std;
#define pb push_back
#define fi first
#define se secondtypedef
long
long
ll;const ll inf = 1e9+9
;const
int maxn = 1006
;ll n, m, k, s;
double
dis[maxn];
bool
vis[maxn];
vector
< pairdouble > >mp[maxn];
priority_queue
< pair >q;
struct
node ac[
300];
double omyway(int i,int
j)void
dij()}}
}int
main()
for(int i=1;i<=n;i++)
}dis[
1] = 0.0
; q.push(make_pair(
0.0,1
)); dij();
printf(
"scenario #%d\n
",cnt++);
printf(
"frog distance = %.3f\n\n
",dis[2
]); }
return0;
}
POJ 2253 Frogger(最大邊權最小化)
題意 給定 n nn 個點的座標 xi yi x i,y i xi y i 這 n nn 個點構成乙個無向完全圖。起點是 1 11 號,終點是 2 22 號。從起點到終點會有很多路徑,每條路徑上的邊都有乙個最大值,求這些最大值中的最小值。思路 dijkstra變形,d d d 陣列則代表從起始點到達...
2253 Frogger 解題報告
accecpttime 2008 12 30 11 11 23 language c memory 572k time 16ms errors 2wa algorithm dijkstra最短路徑 include include include include include using names...
POJ 2253(floyd 條件改變)
poj 2253 題意 有很多座標,求點一到點二的每個通路之中最長的距離,輸出最長的距離之中最短的那個。這道題無關最短路,利用floyd的遍歷,但是關鍵在於條件。include include includeusing namespace std double path 210 210 class ...