题库/Y1256

#Y1256. 最小圈

    传统题 难度: 提高 标签>一本通状态定义、转移与边界计算顺序与答案位置
时间限制1000 ms
内存限制64 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1256 · 最小圈

退出在线编程模式
提高 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制64 MiB
通过率—0 / 0 次提交

题目描述

原题来自:HNOI 2009 考虑带权的有向图 G=(V,E)G=(V,E) 以及 w:E→Rw:E→R,每条边e=(i,j)(i≠j,i∈V,j∈V)e=(i,j)(i≠j,i∈V,j∈V)的权值定义为Wi,jW_{i,j},令 n=∣V∣n=∣V |。c=(c1,c2,⋯,ck)(ci∈V)c=(c_1,c_2,⋯,c_k)(c_i∈V) 是 GG 中的一个圈当且仅当 (c_i,c_{i+1})(1≤i<k) 和 (ck,c1)(c_k,c_1)​ 都在 EE 中,这时称 kk 为圈 cc 的长度。同时令 ck+1=c1c_{k+1}=c_1​​ ,并定义圈 c=(c1,c2,⋯,ck)c=(c_1,c_2,⋯,c_k) 的平均值为:

μ(c)=1k∑i=1kwci,ci+1μ(c)=\frac{1}{k}\sum_{i=1}^{k}w_{c_i,c_{i+1}}

即 cc 上所有边的权值的平均值。 令 μ∗(c)=min{μ(c)}μ∗(c)=min\{μ(c)\} 为 GG 中所有圈 cc 的平均值的最小值。现在的目标是:在给定了一个图 G=(V,E)G=(V,E) 以及 w:E→Rw:E→R 之后,请求出 GG 中所有圈 cc 的平均值的最小值 μ∗(c)=min{μ(c)}μ∗(c)=min\{μ(c)\}。

输入

第一行包含两个正整数 nn 和 mm,并用一个空格隔开,其中 n=∣V∣,m=∣E∣n=∣V∣,m=∣E∣,分别表示图中有 nn 个顶点和 mm 条边; 接下来 mm 行,每行包含用空格隔开的三个数 i,j,wi,ji,j,w_{i,j}​​ ,表示有一条边 (i,ji,j) 且该边的权值为 wi,jw_{i,j}​​ 。 输入数据保证图 G=(V,E)G=(V,E) 连通,存在圈且有一个点能到达其他所有点。

输出

仅包含一个实数 μ∗=min{μ(c)}μ∗=min\{μ(c)\},要求输出到小数点后 88 位。

输入样例

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≤n≤100,1≤m≤10001≤n≤100,1≤m≤1000; 对于 40% 的数据,1≤n≤1000,1≤m≤50001≤n≤1000,1≤m≤5000; 对于 100% 的数据,1≤n≤3000,1≤m≤104,∣wi,j∣≤1071≤n≤3000,1≤m≤10^4,∣w_{i,j}∣≤10^7​​ 。 输入保证 1≤i,j≤n1≤i,j≤n。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。