#779. Chu trình trung bình nhỏ nhất (CYCLE)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Xét đồ thị có hướng có trọng số G=(V,E) và hàm trọng số w:E\to R . Mỗi cạnh e=(i,j)(i\not =j,i\in V,j\in V) có trọng số là w_{i,j} , đặt n=|V| . Một dãy c=(c_1,c_2,\cdots ,c_k)(c_i\in V) là một chu trình trong G khi và chỉ khi (c_i,c_{i+1})(1\le i\lt k) (c_k,c_1) đều thuộc E , khi đó k được gọi là độ dài của chu trình c . Đồng thời đặt c_{k+1}=c_1 , và định nghĩa giá trị trung bình của chu trình c=(c_1,c_2,\cdots ,c_k) là:

\mu (c)=\frac{1}{k}\sum_{i=1}^k w_{c_i,c_{i+1}}

Tức là trung bình cộng trọng số của tất cả các cạnh trên c .

Đặt \mu^*(c)=\min \{\mu (c)\} là giá trị trung bình nhỏ nhất của tất cả các chu trình c trong G . Mục tiêu hiện tại là: Cho trước đồ thị G=(V,E) và trọng số w , hãy tìm giá trị trung bình nhỏ nhất của tất cả các chu trình trong G , tức là \mu ^* (c)=\min \{ \mu (c)\} .

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên dương n m , cách nhau bởi dấu cách, trong đó n=|V|, m=|E| , lần lượt biểu thị số đỉnh và số cạnh của đồ thị.
  • m dòng tiếp theo, mỗi dòng chứa ba số i, j, w_{i,j} cách nhau bởi dấu cách, biểu thị có một cạnh (i,j) với trọng số w_{i,j} .
  • Dữ liệu đảm bảo đồ thị G=(V,E) liên thông, tồn tại chu trình và có một điểm có thể đi đến tất cả các điểm khác.

Kết quả:

  • Chỉ chứa một số thực \mu ^*=\min \{ \mu (c) \} , yêu cầu xuất chính xác đến 8 chữ số thập phân.

Ví dụ:

Dữ liệu:

4 5
1 2 5
2 3 5
3 1 5
2 4 3
4 1 3

Kết quả:

3.66666667

Dữ liệu:

2 2
1 2 -2.9
2 1 -3.1

Kết quả:

-3.00000000

Giới hạn:

  • Với 20\% dữ liệu: 1\le n\le 100, 1\le m\le 1000 .
  • Với 40\% dữ liệu: 1\le n\le 1000, 1\le m\le 5000 .
  • Với 100\% dữ liệu: 1\le n\le 3000, 1\le m\le 10^4, |w_{i,j}|\le 10^7 .
  • Dữ liệu đảm bảo 1\le i,j\le n .