单点时限: 2.0 sec
内存限制: 512 MB
给定一个图$G(V,E)$,其中每条边表示成$(u,v,c)$,其中$c$为这条边的权重,给定起点$s$和终点$t$,求一条从$s$到$t$的路径使得路径上的最大权重减去最小权重尽可能小。
第一行两个数$n$和$m$,表示图中的顶点个数和边的个数,顶点的编号从$1$到$n$。
接下来$m$行,每行三个数$u_i,v_i,c_i$为图中的一条边,其中$1 \leq u_i,v_i \leq n, 1 \leq c_i \leq 2*10^9$,满足$u_i \neq v_i$。
接下来两个数$s,t$,满足$1 \leq s,t \leq n$。
其中$n \leq 5000,m \leq 5000$。
一个数表示答案,如果从$s$到$t$没有路径,输出-1
。
4 4 1 2 2 2 3 4 1 4 1 3 4 2 1 3
1
使用枚举+并查集
的算法,将路径
理解成判断u和v是否连通
,枚举是指枚举子图中权重最小的边。