trang chủ / đề bài / dhbb23_cbn_10_c

Cây con lớn nhất

Đề bài

Mô tả

Cho một cây (đơn đồ thị vô hướng liên thông, không có chu trình) gồm N đỉnh, đánh số từ 1 đến N, với các cạnh có trọng số. Trọng số của một cây được định nghĩa bằng tổng trọng số các cạnh của nó.

Một cây con là cây thu được bằng cách xóa đi một số đỉnh (và các cạnh có ít nhất một đầu mút bị xóa). Cây con phải liên thông và còn lại ít nhất một đỉnh; được phép không xóa đỉnh nào (giữ nguyên cả cây). Cây con chỉ gồm một đỉnh có trọng số 0.

Yêu cầu: Cho một cây, hãy tìm cây con có trọng số lớn nhất.

Dữ liệu vào

  • Dòng đầu ghi số N là số đỉnh của cây (1≤N≤50000).
  • N−1 dòng sau, mỗi dòng ghi ba số nguyên u,v,c thể hiện một cạnh của cây nối hai đỉnh u,v, có trọng số là c (1≤u,v≤N, u≠v, −10000≤c≤10000). Các cạnh đảm bảo tạo thành một cây.

Dữ liệu ra

Ghi ra một số duy nhất là trọng số lớn nhất có thể của một cây con.

Ràng buộc

  • 1≤N≤50000.
  • 1≤u,v≤N, u≠v, −10000≤c≤10000.

Ví dụ

Input Output Giải thích
5
5 1 2
1 2 -5
2 3 1
2 4 2
3 Xóa đỉnh 1 và 5, cây con gồm các đỉnh 2,3,4 có trọng số 1+2=3.
4
1 2 -3
2 3 -1
2 4 -2
0 Mọi cạnh đều âm nên tốt nhất là giữ lại đúng một đỉnh, trọng số 0.
4
1 2 3
1 3 1
3 4 2
6 Không xóa đỉnh nào: cả cây có trọng số 3+1+2=6.

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