trang chủ / đề bài / gr14_pathmax

Cây khung chứa cạnh cho trước

Đề bài

Mô tả

Cho một đồ thị vô hướng liên thông gồm n đỉnh và m cạnh, cạnh thứ i nối hai đỉnh ui≠vi và có trọng số wi. Giữa hai đỉnh có thể có nhiều cạnh.

Một cây khung là một tập n−1 cạnh nối liền mọi đỉnh; trọng số của cây khung là tổng trọng số các cạnh của nó. Với mỗi cạnh i, hãy tìm trọng số nhỏ nhất của một cây khung bắt buộc phải chứa cạnh i.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n và m.
  • m dòng tiếp theo, dòng thứ i chứa ba số nguyên ui,vi,wi.

Dữ liệu ra

In ra m dòng, dòng thứ i là trọng số nhỏ nhất của một cây khung chứa cạnh i.

Ràng buộc

  • 2≤n≤5·104
  • n−1≤m≤105
  • 1≤ui,vi≤n, ui≠vi, 1≤wi≤109
  • Đồ thị liên thông.

Ví dụ

Input Output Giải thích
4 5
1 2 3
2 3 1
3 4 4
4 1 2
1 3 5
6
6
7
6
8
Cây khung nhỏ nhất gồm các cạnh 1,2,4 với trọng số 6. Buộc chứa cạnh 3 (nối 3 và 4, nặng 4) thì bỏ cạnh 1 (nặng 3) trên chu trình 3−4−1−2−3, được 6−3+4=7.
3 4
1 2 1000000000
2 3 1000000000
1 3 1
1 2 7
1000000001
1000000001
8
8
Giữa đỉnh 1 và 2 có hai cạnh, nặng 109 và 7.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0