题目描述
题目
一个 n 个点 m 条边的无重边无自环的无向图,点有点权,边有边权,定义一条路径的权值为路径经过的点权的最大值乘边权最大值。求任意两点间的权值最小的路径的权值。
输入格式
第一行两个整数 n,m,分别表示无向图的点数和边数。
第二行 n 个正整数,第 i 个正整数表示点 i 的点权。
接下来 m 行每行三个正整数 u i,v i ,w i ,分别描述一条边的两个端点和边权。
输出格式
n 行每行 n 个整数,第 i行第 j 个整数表示从 i 到 j 的路径的最小权值,如果从 i 不能到达 j,则该值为 −1。特别地,当 i=j 时输出 0。
输入输出样例
输入 #1
3 3
2 3 3
1 2 2
2 3 3
1 3 1
输出 #1
0 6 3
6 0 6
3 6 0
分析:
r e g i s t e r register register永远滴神!!!
正解还真是为 f l o y e d floyed floyed我傻了?
比赛时我打的就是 f l o y e d floyed floyed 结果没开 l o n g l o n g long long longlong直接滚粗
赛后开了 l o n g l o n g 50 long long50 longlong50分 最后还是开了 O 2 O2 O2优化以及快读 + n +n +n个 r e g i s t e r register regi

这篇博客介绍了如何应用Floyd算法解决一个无重边无自环的无向图中,寻找点权与边权乘积最小的路径问题。博客内容包括题目描述、输入输出格式、样例以及算法分析,强调了在比赛中使用Floyd算法并进行O2优化和使用register关键字的重要性。

163

被折叠的 条评论
为什么被折叠?



