4409. 1506:最小圈
时间限制:1000 MS 内存限制:256 MB
题目描述
### 题目描述 原题来自:HNOI 2009 考虑带权的有向图 $G=(V,E)$ 以及 $w:E \rightarrow R $,每条边 $e=(i,j) (i \neq j, i \in V, j \in V)$ 的权值定义为 $W\_{i,j}$,令 $n=|V|$。$c=(c\_1,c\_2,\cdots,c\_k) (c\_i \in V)$ 是 $G$ 中的一个圈当且仅当 $(c\_i,c\_{i+1}) (1 \leq i < k)$ 和 $(c\_k,c\_1)$ 都在 $E$ 中,这时称 $k$ 为圈 $c$ 的长度。同时令 $c\_{k+1}=c\_1$,并定义圈 $c=(c\_1,c\_2,\cdots,c\_k)$ 的平均值为: $\mu(c) = \frac{1}{k} \displaystyle\sum\_{i=1}^{k} w\_{c\_i,c\_{i+1}}$ 即 $c$ 上所有边的权值的平均值。 令 $\mu^\*(c) = \min${$\mu(c)$} 为 $G$ 中所有圈 $c$ 的平均值的最小值。现在的目标是:在给定了一个图 $G=(V,E)$ 以及 $w:E \rightarrow R$ 之后,请求出 $G$ 中所有圈 $c$ 的平均值的最小值 $\mu^\*(c) = \min${$\mu(c)$} 。 ### 输入 第一行包含两个正整数 $n$ 和 $m$,并用一个空格隔开,其中 $n=|V|, m=|E|$,分别表示图中有 $n$ 个顶点和 $m$ 条边; 接下来 $m$ 行,每行包含用空格隔开的三个数 $i, j, w\_{i,j}$,表示有一条边 $(i, j)$ 且该边的权值为 $w\_{i,j}$。 输入数据保证图 $G=(V,E)$ 连通,存在圈且有一个点能到达其他所有点。 ### 输出 仅包含一个实数 $\mu^* = \min\{\mu(c)\}$,要求输出到小数点后 8 位。 ### 输入样例 ``` 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 ``` ### 输出样例 ``` 3.66666667 ``` ### 提示 样例输入 2: ``` 2 2 1 2 -2.9 2 1 -3.1 ``` 样例输出 2: ``` -3.00000000 ``` ### 数据范围 对于 20% 的数据,$1 \leq n \leq 100$,$1 \leq m \leq 1000$; 对于 40% 的数据,$1 \leq n \leq 1000$,$1 \leq m \leq 5000$; 对于 100% 的数据,$1 \leq n \leq 3000$,$1 \leq m \leq 10^4$,$|w_{i,j}| \leq 10^7$。 输入保证 $1 \leq i, j \leq n$。