UVA10048 Audiophobia (floyd变形)
题解 输入一个C个点S条边的无向带权图,边权表示该路径上的噪音值,当噪音值太大时,耳膜会受到伤害,所以当你从某点去另外一个点时,总是希望路上经过的最大噪音值最小,输入一些询问,输出这两点之间最大噪音值最小的路径。 直接用floyd算法,但是把加法改成min,min改成max。解释:不管是floyd还是dijkstra,都是基于这样一个事实:对于任意一条至少包含两条边的路径i->j,一定存在一个中间点k,使得i->j的总长度等于i->k,k->j的长度之和。对于不同的点k,i->k,k->j的长度之和可能不同,最后还需要取一个最小值才是i->j的最短路径,把刚才推理中“之和”与“取最小值”换成“取最小值”和“取最大值”,推理仍然适用 代码
#include
#include
#include
#include
#include
#include
#include
#include
推荐阅读
- acm笔记|floyd算法path数组和dist数组(递归打印路径)
- BZOJ|BZOJ 4720 换教室 (期望dp Floyd)
- 有向图求最小环
- 洛谷P2402|洛谷P2402 奶牛隐藏(网络流,二分答案,Floyd)
- [数学基础]Floyd算法理论基础(含例题)
- UVa/LA|UVa10048 - Audiophobia(floyed|最小生成树)
- POJ2253Floyd
- 算法竞赛入门经典|例题11-5 噪音恐惧症(Audiophobia, UVa10048)
- uva10048|uva10048 Audiophobia
- UVa|uva 10048 噪音恐惧症 Audiophobia Floyd算法