trang chủ / bài tập / treepaint

Tô màu cây

Đề bài

Mô tả

Cho một cây (đồ thị vô hướng liên thông không có chu trình) gồm n đỉnh. Ban đầu tất cả các đỉnh đều màu trắng.

Bạn chơi một trò chơi trên cây này. Ở lượt đầu tiên, bạn chọn một đỉnh bất kì và tô nó thành màu đen. Ở mỗi lượt tiếp theo, bạn chọn một đỉnh màu trắng kề (nối bởi một cạnh) với ít nhất một đỉnh màu đen và tô nó thành màu đen.

Mỗi lần bạn chọn một đỉnh (kể cả lượt đầu tiên), bạn nhận được số điểm bằng kích thước của thành phần liên thông gồm toàn các đỉnh màu trắng mà chứa đỉnh vừa chọn (tính cả đỉnh vừa chọn, ngay trước khi tô nó đen). Trò chơi kết thúc khi tất cả các đỉnh đã được tô đen.

Hãy tìm tổng số điểm lớn nhất bạn có thể nhận được nếu chơi tối ưu.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n, số đỉnh của cây.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên uivi mô tả một cạnh của cây.

Dữ liệu ra

  • In ra một số nguyên duy nhất: tổng số điểm lớn nhất có thể nhận được.

Ràng buộc

  • 2n2·105
  • 1ui,vin, uivi
  • Các cạnh cho trước tạo thành một cây.

Ví dụ

Input Output Giải thích
5
1 2
1 3
2 4
2 5
14 Cây có 5 đỉnh. Chọn đỉnh đầu tiên là 2: khi đó thành phần trắng chứa cả 5 đỉnh nên được 5 điểm. Tô lần lượt các đỉnh còn lại theo thứ tự tối ưu cho tổng 5+4+=14.
9
1 2
2 3
2 5
2 6
1 4
4 9
9 7
9 8
36 Chơi tối ưu trên cây 9 đỉnh cho tổng điểm lớn nhất là 36.

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