大致思路:
最短路變形,建立dis陣列。不過dis[i]儲存的不是到達i點的最短路徑,而是能到達i點的所有路徑中每條路徑中最長的天數的最小值。(有點繞腦,就像樣例說明一樣,1到6有兩條路徑,其中一條路徑要花6天完成(完成這條路的時間肯定是修這條
路徑的所有隧道花費時間最長的
),另一條要7天,那麼答案就是6天。)
所以當用spfa進行點鬆弛時,有:dis[to]=max(dis[top],cost)
**:
#include#include#include#include#include#include#define inf 99999999
using namespace std;
int dis[200005];
int vis[200005];
struct lu
};vectorv[200005];
int spfa(int n)
dis[1]=0;
queueq;
q.push(1);
vis[1]=1;
while(!q.empty())}}
}return dis[n];
}int main()
int a,b,c;
for(int i=0; i
CCF201703 4 地鐵修建 (100分)
試題編號 201703 4 試題名稱 地鐵修建 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 a市有n個交通樞紐,其中1號和n號非常重要,為了加強運輸能力,a市決定在1號到n號樞紐間修建一條地鐵。地鐵由很多段隧道組成,每段隧道連線兩個交通樞紐。經過勘探,有m段隧道作為候選,兩個...
CCF認證 2017 03 地鐵修建 最短路變形
題目 試題編號 201703 4 試題名稱 地鐵修建 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 a市有n個交通樞紐,其中1號和n號非常重要,為了加強運輸能力,a市決定在1號到n號樞紐間修建一條地鐵。地鐵由很多段隧道組成,每段隧道連線兩個交通樞紐。經過勘探,有m段隧道作為候選...
地鐵修建 CCF CSP 201703 4
試題編號 201703 4 試題名稱 地鐵修建 時間限制 1.0s 記憶體限制 256.0mb a市有n個交通樞紐,其中1號和n號非常重要,為了加強運輸能力,a市決定在1號到n號樞紐間修建一條地鐵。地鐵由很多段隧道組成,每段隧道連線兩個交通樞紐。經過勘探,有m段隧道作為候選,兩個交通樞紐之間最多只有...