#df1927. 最短的通路时间
最短的通路时间
最短的通路时间
题目描述
某市新规划了 N 个村庄(村庄编号为 1∼N),现准备在这 N 个村庄之间修建 M 条道路,每条公路的连着两个村庄。
已知这 M 条道路每条路连接了哪两个村庄,以及什么时候这条路能修好。请问:最早什么时候任意两个村庄能够通车,即最早什么时候任意两个村庄都存在至少一条修完的道路(两个村庄之间可能有多条路)。
输入格式
第 1 行两个正整数 N,M。
下面 M 行,每行 3 个正整数 x,y,t,告诉你这条公路连着 x,y 两个村庄,在时间 t 时能修完成这条公路。
输出格式
如果全部公路修完仍然存在两个村庄无法通车,则输出 −1,否则输出最早什么时候任意两个村庄能够通车。
样例输入 #1
4 4
1 2 6
1 3 4
1 4 5
4 2 3
样例输出 #1
5
数据范围
N≤1000,M≤100000,x≤N,y≤N,t≤100000。
知识点与难度
本题涉及的知识点:并查集、最小生成树(瓶颈)、贪心,难度等级:基础。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 / 补充样例(-1 情形) |
| 1 | 20 | 3~8 | 小规模 N≤8 / 特殊: 全同 t / 特殊: 大 t |
| 2 | 15 | 9~11 | Hack: 重边 / Hack: N=2 最小边界 / Hack: 链状结构 |
| 3 | 30 | 12~20 | 中规模 N≈100~500 / 大规模 N=1000, M=10^5 压力(含不连通) |
| 4 | 25 | 21~25 | 随机 N=2~1000 回归(含 -1 情形) |