题目 1506

「一本通 3.3 练习 1」最小圈

查看题解 ↗GitHub ↗如何评测
题号
1506
时间限制
1000 ms
内存限制
128 MB
标签
图论分数规划二分答案

【题目描述】

原题来自:HNOI 2009

考虑带权的有向图 G=(V,E)G=(V,E) 以及 w:E→Rw:E\to R,每条边e=(i,j)(i≠j,i∈V,j∈V)e=(i,j)(i\neq j,i\in V,j\in V)的权值定义为Wi,jW_{i,j},令 n=∣V∣n=∣V |。c=(c1,c2,…,ck)(ci∈V)c=(c_1,c_2,\dots,c_k)(c_i\in V) 是 GG 中的一个圈当且仅当 $(c_i,c_{i+1})(1≤i

μ(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\to 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\leq n\leq 100,1\leq m\leq 1000;

对于 40% 的数据,1≤n≤1000,1≤m≤50001\leq n\leq 1000,1\leq m\leq 5000;

对于 100% 的数据,1≤n≤3000,1≤m≤104,∣wi,j∣≤1071\leq n\leq 3000,1\leq m\leq 10^4,∣w_{i,j}∣\leq 10^7​​ 。

输入保证 1≤i,j≤n1\leq i,j\leq n。

【来源】

一本通在线评测

数据下载

题目 1506 的公开数据

正在读取文件列表…

常用命令

题目 1506 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。