Thành phố trung tâm ()
citycter 2000 ms 1024 MB
Nội dung bài tập

Cho một mạng lưới gồm \(N\) thành phố cấu trúc dạng cây với \(N - 1\) cạnh vô hướng có độ dài bằng \(1\). Các thành phố được đánh số từ \(1\) đến \(N\). Tại mỗi truy vấn, hoàng gia ban bố một tập hợp \(S\) gồm \(K\) thành phố trọng yếu (\(S = \left\{ x_{1},x_{2},\ldots,x_{K} \right\}\)).

Yêu cầu: Với mỗi truy vấn, bạn cần chọn ra một thành phố \(u\) bất kỳ trên toàn bộ cây gốc sao cho tổng khoảng cách từ \(u\) đến tất cả các thành phố trong tập \(S\) là nhỏ nhất có thể. Hãy in ra giá trị tổng khoảng cách nhỏ nhất đó. Nói cách khác, tính giá trị của biểu thức:

\[M(S) = \min_{u \in V}{\sum_{v \in S}^{}\text{dist}(u,v)}\]

Dữ liệu vào:

  • Dòng đầu chứa số nguyên \(N\) (\(1 \leq N \leq 2 \cdot 10^{5}\)).

  • \(N - 1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u,v\) mô tả một cạnh kết nối.

  • Dòng tiếp theo chứa số nguyên \(Q\) (\(1 \leq Q \leq 2 \cdot 10^{5}\)).

  • Tiếp theo là \(Q\) nhóm dòng, mỗi nhóm mô tả một truy vấn:

    • Dòng đầu chứa số nguyên \(K\) – số lượng thành phố trong tập \(S\).

    • Dòng tiếp theo chứa \(K\) số nguyên phân biệt \(x_{1},x_{2},\ldots,x_{K}\) (\(1 \leq x_{i} \leq N\)).

Kết quả:

  • Với mỗi truy vấn, in ra một số nguyên duy nhất là giá trị tối thiểu của tổng khoảng cách \(M(S)\).

Ví dụ:

input output Giải thích

5

1 2

2 3

3 4

4 5

1

2

2 5

3 Khoảng cách từ nút 3 đến 2 và 5 là 1+2=3; từ nút 2 là 0+3=3; từ nút 4 là 2+1=3; từ nút 1 là 1+4=5; từ nút 5 là 3+0=3

Ràng buộc:

  • Subtask 1 (\(N,Q \leq 1000\)).

  • Subtask 2 (\(\sum_{}^{}K \leq 2 \cdot 10^{5}\)).

Nộp bài
Bạn cần đăng nhập để nộp bài. Đăng nhập
Lịch sử nộp bài của bạn
Bạn chưa nộp bài tập này.