題目大意:給你城市數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,取高度最大的最短路徑就是答案。當列舉太慢,且每次判斷都只有兩...