#1613. Đồ thị con cực đại (MAXSUBTREE)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một đồ thị vô hướng liên thông không có chu trình (cây) G=(V, E) với n đỉnh. Với một tập con gồm 3 đỉnh phân biệt S = \{a, b, c\} \subset V , ta định nghĩa G_S đồ thị con liên thông nhỏ nhất của G chứa tất cả các đỉnh trong S . Tính chất "nhỏ nhất" ở đây được hiểu là đồ thị con có số lượng cạnh ít nhất.

Nhiệm vụ của bạn là tìm một tập S gồm 3 đỉnh phân biệt sao cho số lượng cạnh của đồ thị con G_S là lớn nhất.

Dữ liệu:

  • Dòng đầu tiên chứa một số nguyên n ( 3 \le n \le 2 \cdot 10^5 ) — số lượng đỉnh của cây.
  • n - 1 dòng tiếp theo mô tả các cạnh của cây dưới dạng a_i, b_i ( 1 \le a_i, b_i \le n, a_i \ne b_i ). Đảm bảo rằng đồ thị cho trước là một cây.

Kết quả:

  • Dòng đầu tiên in ra một số nguyên res — số lượng cạnh của đồ thị con G_S cực đại tìm được.
  • Dòng thứ hai in ra ba số nguyên a, b, c là nhãn của 3 đỉnh trong tập S ( 1 \le a, b, c \le n a, b, c đôi một khác nhau). Nếu có nhiều đáp án, bạn có thể in ra bất kỳ đáp án nào.

Ví dụ:

Dữ liệu:

4
1 2
2 3
3 4

Kết quả:

3
1 2 4

Dữ liệu:

5
1 2
1 3
1 4
1 5

Kết quả:

3
2 3 4

Dữ liệu:

8
1 2
2 3
3 4
4 5
4 6
3 7
7 8

Kết quả:

6
1 5 8

Giải thích:

  • Trong ví dụ đầu tiên, cây là một đường thẳng 1-2-3-4 . Chọn tập \{1, 2, 4\} , đồ thị con liên thông nhỏ nhất chứa chúng bao gồm các cạnh (1,2), (2,3), (3,4) . Tổng số cạnh là 3.
  • Trong ví dụ thứ hai, cây có dạng hình sao với tâm là 1. Chọn 3 lá bất kỳ (ví dụ 2, 3, 4), ta cần các cạnh (2,1), (3,1), (4,1) để kết nối chúng. Tổng số cạnh là 3.
  • Trong ví dụ thứ ba, chọn 3 đỉnh \{1, 5, 8\} , đồ thị con nhỏ nhất chứa chúng gồm các cạnh: (1,2), (2,3), (3,4), (4,5), (3,7), (7,8) . Tổng cộng có 6 cạnh.

Giới hạn:

  • Subtask #1 (20% số điểm): N \le 50 .
  • Subtask #2 (30% số điểm): N \le 2500 .
  • Subtask #3 (20% số điểm): Đồ thị có dạng đường thẳng (đỉnh i nối với i+1 ).
  • Subtask #4 (30% số điểm): N \le 2 \cdot 10^5 , không có ràng buộc gì thêm.