Nâng cấp mạng (VOI 2011)
Xem dạng PDFMột hệ thống gồm ~N~ máy tính đánh số từ ~1~ đến ~N~ được kết nối thành một mạng bởi ~M~ đoạn cáp mạng đánh số từ ~1~ đến ~M~. Đoạn cáp mạng thứ ~i~ có thông lượng ~w_i~ kết nối hai máy ~u_i\ v_i~ cho phép truyền dữ liệu theo cả hai chiều giữa hai máy này.
Một dãy các máy ~x_1,x_2, \dots, x_p~ trong đó giữa hai máy ~x_i~ và ~x_{i+1}~ (~i \in [1;p-1]~) có đoạn cáp nối được gọi là một đường truyền tin từ máy ~x_1~ tới máy ~x_p~. Thông lượng của đường truyền tin được xác định như là thông lượng nhỏ nhất trong số các thông lượng của các đoạn cáp mạng trên đường truyền. Giả thiết là mạng được kết nối sao cho có đường truyền tin giữa hai máy bất kì và giữa hai máy có không quá một đoạn cáp mạng nối chúng.
Người ta muốn nâng cấp mạng bằng cách tăng thông lượng của một số đoạn cáp nối trong mạng. Để tăng thông lượng của mỗi đoạn cáp mạng thêm một lượng ~d\ (d > 0)~ ta phải trả một chi phí đúng bằng ~d~. Việc nâng cấp mạng phải đảm bảo là sau khi hoàn tất, thông lượng của mỗi đoạn cáp mạng ~i~ đều bằng thông lượng của đường truyền tin có thông lượng lớn nhất từ máy ~u_i~ tới máy ~v_i~.
Yêu cầu: Tìm phương án nâng cấp các đoạn cáp mạng sao cho tổng chi phí nâng cấp là nhỏ nhất.
Input
Vào từ file UPGRANET.INP:
- Dòng đầu chứa hai số nguyên dương ~N,M\ (N,M \le 10^5)~,
- Dòng thứ ~i~ trong số ~M~ dòng tiếp theo chứa ba số nguyên dương ~u_i, v_i, w_i\ (w_i \le 10^6)~.
Output
Ghi ra tệp UPGRANET.OUT:
- Ghi ra một số nguyên duy nhất là tổng chi phí nâng cấp thấp nhất.
Sample Input 1
6 7
1 2 6
1 3 5
2 4 3
3 4 9
4 5 4
4 6 8
5 6 7
Sample Output 1
5
Giải thích

Bình luận