hdu 2962(二分答案 最短路)

2021-08-07 15:43:40 字數 778 閱讀 8512

題目大意:給你城市數c,道路數r,運載車的限高h,以及每條道路的限高limit,讓你求start到end的貨物的最大高度res(res<=limit,res<=h),和在貨物最大高度下,從start到end的最短路。

大體思路:二分答案(res∈[1.h]),然後再求最大高度下的最短路即可。具體看**。

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

const int inf=0x3f3f3f3f;

const int maxn=1005;

struct edge

};int n,m;

vectores[maxn];

void addedge(int u,int v,int w,int h)

bool vis[maxn];

int cnt[maxn],dis[maxn];

void spfa(int s,int limit)

} }

}/*return true;*/

}int main()

{ /*freopen("1.txt","r",stdin); */

int kase=1;

while(scanf("%d%d",&n,&m)!=eof)

{for(int i=0;i(0);//vector 陣列清零,坑點。

if(n==0&&m==0) break;

if(kase!=1)

printf("\n");

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 ...

hdu2962 限制最短路 列舉

題意 n個點m條邊,每條邊有兩個權,乙個是路的長度,乙個是路限制了貨車運輸的高度。最後一行給出起點,終點,和這部車子可以運輸貨物放的最大的高度。思路 這裡的列舉限制高度,可以過,高度從大列舉到小,可以過600ms 如果二分的話更快。include include include include in...

hdu 2962 Trucking(二分 最短路)

題意 卡車要運輸盡可能高的貨物 但不高於乙個安全值 城市間每一條路是雙向的但是都有高度限制。求解運輸盡可能高的貨物時,卡車到達目的地的最短路徑。單源最短路徑的變形,在最短路徑基礎上加了高度限制。思路 採用二分搜尋法 修改的dijkstra,取高度最大的最短路徑就是答案。當列舉太慢,且每次判斷都只有兩...