G:网络稳定性
题目:
试题 G: 网络稳定性
时间限制: 1.5s 内存限制: 256.0MB 本题总分:20 分
【问题描述】
有一个局域网,由 n 个设备和 m 条物理连接组成,第 i 条连接的稳定性为w i 。
对于从设备 A 到设备 B 的一条经过了若干个物理连接的路径,我们记这条路径的稳定性为其经过所有连接中稳定性最低的那个。
我们记设备 A 到设备 B 之间通信的稳定性为 A 至 B 的所有可行路径的稳定性中最高的那一条。给定局域网中的设备的物理连接情况,求出若干组设备 x i 和 y i 之间的通信稳定性。如果两台设备之间不存在任何路径,请输出 −1 。
【输入格式】
输入的第一行包含三个整数 n,m,q ,分别表示设备数、物理连接数和询问数。
接下来 m 行,每行包含三个整数 u i ,v i ,w i ,分别表示 u i 和 v i 之间有一条稳定性为 w i 的物理连接。
接下来 q 行,每行包含两个整数 x i ,y i ,表示查询 x i 和 y i 之间的通信稳定性。
【输出格式】
输出 q 行,每行包含一个整数依次表示每个询问的答案。
【样例输入】
5 4 3
1 2 5
2 3 6
试题G: 网络稳定性 11
第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 A 组
3 4 1
1 4 3
1 5
2 4
1 3
【样例输出】
-1
3
5
【评测用例规模与约定】
对于 30% 的评测用例,n,q ≤ 500,m ≤ 1000 ;
对于 60% 的评测用例,n,q ≤ 5000,m ≤ 10000 ;
对于所有评测用例,2 ≤ n,q ≤ 10 5 ,1 ≤ m ≤ 3 × 10 5 ,1 ≤ u i ,v i , x i ,y i ≤ n,
1 ≤ w i ≤ 10 6 ,u i , v i ,x i , y i 。
关于这个题的思路,贪心+并查集。
我们将所有边的权重从大到小排序,然后从大到小遍历所有边。如果新加入的边使得u,v俩点连通了,那么u,v俩点的连通性就是
这条边。 现证明贪心思路,先证明这条边是路径最小,因为在连上这条边之前俩点没有路径,连了之后就有路径了,说明u,v的第一条路径一定过这条边,而我们又是从大到小遍历的,所以这条边一定是这条路径最小的边。其次证明这条边是所有其他路径最小边 最大的那个,这个很容易证明,因为如果还有其他路径的话,其他路径的边肯定都小于这条边。
我们这道题可以先储存起来询问,再求解。
这道题的启示,当问题涉及连通性路径最优解问题中的最优解 只取一条边的时候,我们可以考虑并查集去做而不是最短路等等,因为最短路处理的是多条边。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】