Codeforces Educational 3E- Minimum spanning tree for each edge

Xem dạng PDF

Gửi bài giải


Điểm: 0,60 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Người đăng:
Nguồn bài:
Codeforces Educational Round 3
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho đồ thị chứa ~n~ đỉnh ~m~ cạnh, là đồ thị vô hướng có trọng số với các cạnh không chứa khuyên, ví dụ như cạnh ~(u,u)~ là một khuyên.

Với mỗi cạnh ~(u, v)~, hãy tìm trọng số nhỏ nhất có thể của cây khung chứa cạnh ~(u, v)~. Nói cách khác, ta cần tìm trọng số của cây khung nhỏ nhất chứa cạnh ~(u,v)~.

Trọng số của cây khung là tổng trọng số của tất cả các cạnh có trong cây khung.

Input

Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~ ~(1 ≤ n ≤ 2 \times 10^5,~ ~n - 1 ≤ m ≤ 2 \times 10^5)~ - số đỉnh và số cạnh trong đồ thị.

Mỗi dòng trong số ~m~ dòng tiếp theo chứa ba số nguyên ~u_i, v_i, w_i~ ~(1 ≤ u_i, v_i ≤ n, u_i ≠ v_i, 1 ≤ w_i ≤ 10^9)~ - lần lượt là hai đỉnh và trọng số của cạnh thứ ~i~.

Output

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

Các cạnh được đánh số từ ~1~ đến ~m~ theo thứ tự xuất hiện trong đầu vào.

Sample Input

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

Sample Output

9
8
11
8
8
8
9

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 11
    hoanglongnguyen9002  đã bình luận lúc 6, Tháng 10, 2025, 11:40

    cảm ơn anh ạ


  • -11
    sunshine262  đã bình luận lúc 6, Tháng 10, 2025, 11:39

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • 3
      hieudeptrai  đã bình luận lúc 6, Tháng 10, 2025, 11:45

      Cảm ơn những nổ lực của bạn !


    • -5
      nguyenvudinhtuan  đã bình luận lúc 6, Tháng 10, 2025, 11:42

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • 2
      longhoangho  đã bình luận lúc 6, Tháng 10, 2025, 11:41

      lời giải rất hữu ích cảm ơn anh nhiều


    • 4
      vdtue  đã bình luận lúc 6, Tháng 10, 2025, 11:39

      Hay quá bạn!