[HNOI2009] 最小圈
题目描述
考虑带权的有向图 G=(V,E) 以及 w:E→R,每条边 e=(i,j)(i=j,i∈V,j∈V) 的权值定义为wi,j,令n=∣V∣。c=(c1,c2,⋯,ck)(ci∈V) 是 G 中的一个圈当且仅当 (ci,ci+1)(1≤i<k) 和 (ck,c1) 都在 E 中,这时称 k 为圈 c 的长度同时令 ck+1=c1,并定义圈 c=(c1,c2,⋯,ck) 的平均值为 $\mu(c)=\dfrac{\sum\limits_{i=1}^{k} w_{c_i,c_{i+1}}}{k}$,即 c 上所有边的权值的平均值。令 μ′(c)=Min(μ(c)) 为 G中所有圈 c 的平均值的最小值。现在的目标是:在给定了一个图 G=(V,E) 以及 w:E→R 之后,请求出 G 中所有圈 c 的平均值的最小值 μ′(c)=Min(μ(c))
输入格式
第一行2个正整数,分别为 n 和 m,并用一个空格隔开,只用 n=∣V∣,m=∣E∣ 分别表示图中有 n 个点 m 条边。
接下来 m 行,每行3个数 i,j,wi,j,表示有一条边 ⟨i,j⟩ 且该边的权值为 wi,j。输入数据保证图 G=(V,E) 连通,存在圈且有一个点能到达其他所有点。
输出格式
请输出一个实数 μ′(c)=Min(μ(c)),要求输出到小数点后8位。
样例 #1
样例输入 #1
4 5
1 2 5
2 3 5
3 1 5
2 4 3
4 1 3
样例输出 #1
3.66666667
样例 #2
样例输入 #2
2 2
1 2 -2.9
2 1 -3.1
样例输出 #2
-3.00000000
提示
对于100%的数据,n≤3000,m≤10000,∣wi,j∣≤107