題意:n個點m條邊,每條邊有兩個權,乙個是路的長度,乙個是路限制了貨車運輸的高度。最後一行給出起點,終點,和這部車子可以運輸貨物放的最大的高度。
思路:這裡的列舉限制高度,可以過,高度從大列舉到小,可以過600ms 如果二分的話更快。
#include#include#include#include#includeusing namespace std;
#define inf 999999999
#define max 2005
struct edge
;vectorg[max];
vectoredges;
int dis[max];
int zx,zy,xg;
int n,m;
int ans1;
void addedge(int x,int y,int gaodu,int w)
; edges.push_back(a);
edge b=;
edges.push_back(b);
g[x].push_back(edges.size()-2);
g[y].push_back(edges.size()-1);
}bool spfa(int limt)
queueq;
q.push(zx);
dis[zx]=0;
int a;
while(!q.empty())
{a=q.front();
q.pop();
for(int i=0;i
hdu 2962 最短路 二分
題意 最短路上有一條高度限制,給起點和最大高度,求滿足高度最大情況下,最短路的距離 不明白為什麼列舉所有高度就不對 1 include2 include3 include4 const int maxint 999999 5 int c 1005 1005 2 dist 1005 h 1005 6 ...
hdu 2962(二分答案 最短路)
題目大意 給你城市數c,道路數r,運載車的限高h,以及每條道路的限高limit,讓你求start到end的貨物的最大高度res res limit,res h 和在貨物最大高度下,從start到end的最短路。大體思路 二分答案 res 1.h 然後再求最大高度下的最短路即可。具體看 include...
hdu 2962 Trucking(二分 最短路)
題意 卡車要運輸盡可能高的貨物 但不高於乙個安全值 城市間每一條路是雙向的但是都有高度限制。求解運輸盡可能高的貨物時,卡車到達目的地的最短路徑。單源最短路徑的變形,在最短路徑基礎上加了高度限制。思路 採用二分搜尋法 修改的dijkstra,取高度最大的最短路徑就是答案。當列舉太慢,且每次判斷都只有兩...