P2245 星際導航

2022-05-10 03:11:20 字數 2224 閱讀 1048

sideman做好了回到gliese星球的硬體準備,但是sideman的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有 n 個頂點和 m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。

sideman現在想把危險程度降到最小,具體地來說,就是對於若干個詢問 (a, b),sideman想知道從頂點 aa航行到頂點 b 所經過的最危險的邊的危險程度值最小可能是多少。作為sideman的同學,你們要幫助sideman返回家園,兼享受安全美妙的宇宙航行。所以這個任務就交給你了。

輸入格式:

第一行包含兩個正整數 n 和 m,表示點數和邊數。

之後 m 行,每行三個整數 a,b 和 l,表示頂點 a 和 b 之間有一條邊長為 l 的邊。頂點從 1 開始標號。

下面一行包含乙個正整數 q,表示詢問的數目。

之後 q 行,每行兩個整數 a 和 b,表示詢問 a 和 b 之間最危險的邊危險程度的可能最小值。

輸出格式:

對於每個詢問, 在單獨的一行內輸出結果。如果兩個頂點之間不可達, 輸出impossible

輸入樣例#1:複製

4 51 2 5

1 3 2

2 3 11

2 4 6

3 4 4

32 3

1 41 2

輸出樣例#1:複製54

5對於 40% 的資料,滿足 \(n \leq 1000, m \leq 3000, q \leq 1000\)。

對於 80% 的資料,滿足 \(n \leq 10000, m \leq 10^5, q \leq 1000\)。

對於 100% 的資料,滿足 \(n \leq 10^5, m \leq 3 \times 10^5, q \leq 10^5, l \leq 10^9\)。資料不保證沒有重邊和自環。

kruskal重構樹

在最小生成樹時每次合併兩個節點時把它們合併到乙個新的點上,這個點的權值就是兩點間邊的權值

每兩個點間的lca就是它們最小路徑上的最大值

#include#include#include#include#define m 300010

#define ll long long

#define ri register int

#define max(a,b) ((a)>(b)? (a):(b))

#define min(a,b) ((a)

using namespace std;

int m,n,j,k,a[m],ver[m],edge[m],head[m],nex[m],cnt,top[m],wson[m],f[m],s[m],d[m],x,y,z,father[m],cn;

struct vv

v[m];

inline char gc()

return *s++;

}inline int gtt()

while(isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=gc();

return x*f;

}inline void ptt(int a)

inline bool cmp(vv a,vv b)

}inline void dfs2(int now,int topp)

}inline int lca(int x,int y)

inline void kru()

}}int main()

sort(v+1,v+1+m,cmp);

kru();

dfs1(cn,0);

dfs2(cn,cn);

n=gtt();

for(ri i=1;i<=n;i++)

}

P2245 星際導航

sideman 做好了回到gliese星球的硬體準備,但是sideman的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有n 個頂點和m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。sideman 現在想把危險程度降到最小...

洛谷P2245 星際導航

sideman做好了回到gliese 星球的硬體準備,但是sideman的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有n 個頂點和m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。sideman 現在想把危險程度降到最小...

P2245 星際導航 瓶頸路

sideman 做好了回到 text 星球的硬體準備,但是 text 的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有 n 個頂點和 m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。text 現在想把危險程度降到最小,具...