Mạng công ty

Đề bài

Mô tả

Công ty của Alice có n máy tính, các máy tính được đánh số từ 1 đến n. Hiện tại đang có m (mn1) dây nối giữa các máy tính, dây nối thứ k (1km) nối hai máy tính uk, vk (ukvk) và giúp truyền tin theo cả hai chiều giữa hai máy, có thể có nhiều dây nối giữa hai máy tính. Hiện tại, n máy tính có thể không liên thông với nhau, Alice có thể tháo dây nối để đấu nối lại với mong muốn làm cho n máy tính liên thông, cụ thể, cô có thể thực hiện:

  • Tháo một đầu nối của dây thứ k để đấu nối sang máy tính khác, hành động này mất chi phí ck;
  • Tháo cả hai đầu nối của dây thứ k để đấu nối sang hai máy tính khác, hành động này mất chi phí 2×ck.

Hãy giúp Alice tính chi phí ít nhất cần thực hiện để liên thông được n máy tính.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương n,m (n105; n1m2×105);
  • Dòng thứ k (1km) trong m dòng tiếp theo chứa ba số nguyên dương uk,vk,ck (ck106).

Dữ liệu ra

Một dòng chứa một số là chi phí ít nhất tìm được.

Ràng buộc

  • n105
  • n1m2×105
  • ck106
  • Subtask 1 (50 điểm): ci=1
  • Subtask 2 (25 điểm): m,n1000
  • Subtask 3 (25 điểm): Không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
3 3
1 2 1
1 2 2
1 3 1
0 Đã liên thông sẵn, không cần tháo dây.
3 3
1 2 1
1 2 2
1 2 3
1 Tháo một đầu của dây có chi phí nhỏ nhất (c=1) để nối sang máy 3.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0