专栏文章
最短路--floyed(奶牛跨栏)
P2888题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqf6glb
- 此快照首次捕获于
- 2025/12/04 03:48 3 个月前
- 此快照最后确认于
- 2025/12/04 03:48 3 个月前
奶牛的训练场中有 N (1 ≤ N ≤ 300) 个站台,分别标记为1..N。所有站台之间有M (1 ≤ M ≤ 25,000)条单向路径,第i条路经是从站台Si开始,到站台Ei,其中最高的栏的高度为Hi (1 ≤ Hi ≤ 1,000,000)。无论如何跑,奶牛们都要跨栏。
奶牛们有 T (1 ≤ T ≤ 40,000) 个训练任务要完成。第 i 个任务包含两个数字 Ai 和 Bi (1 ≤ Ai ≤ N; 1 ≤ Bi ≤ N),表示奶牛必须从站台Ai跑到站台Bi,可以路过别的站台。奶牛们想找一条路径从站台Ai到站台Bi,使路径上最高的栏的高度最小。
你的任务就是写一个程序,计算出路径上最高的栏的高度的最小值。
首先注意:不一定要是走最短路
因此这道题的目的是
通过floyed,找出可能的路径中,栅栏的长度尽量小的,
于是就有了
tu[i][j]=min(tu[i][j],max(tu[i][k],tu[k][j]));
(max(tu[i][k],tu[k][j])可以找出可能的路径中的最大值)
(min则用来找出最大值的最小,即最高的栏的高度的最小值)
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...