Khoảng cách giữa hai đỉnh trọng yếu ()
distmin 2000 ms 1024 MB
Nội dung bài tập

Cho một cây gồm \(N\) đỉnh và \(N - 1\) cạnh vô hướng, các cạnh đều có trọng số bằng \(1\). Các đỉnh được đánh số từ \(1\) đến \(N\). Bạn cần xử lý \(Q\) truy vấn độc lập, mỗi truy vấn cung cấp một tập hợp \(S\) gồm \(K\) đỉnh 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, hãy tìm khoảng cách ngắn nhất giữa hai đỉnh phân biệt bất kỳ nằm trong tập \(S\). Nói cách khác, hãy tính giá trị:

\[D_{\min}(S) = \min_{1 \leq i < j \leq K}{\text{dist}\left( x_{i},x_{j} \right)}\]

Trong đó \(\text{dist}(u,v)\) là số cạnh trên đường đi ngắn nhất giữa hai đỉnh \(u\) và \(v\) trên cây gốc.

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên \(N\) (\(2 \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 của cây.

  • 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 đỉnh trong tập \(S\) (\(2 \leq K \leq N\)).

    • 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 trên một dòng là giá trị \(D_{\min}(S)\) tìm được.

Ví dụ:

input output

7

1 2

1 3

2 4

2 5

3 6

3 7

2

3

4 5 7

4

4 5 6 7

2

2

Ràng buộc:

Subtask 1 (30% số điểm): \(N,Q \leq 2000\), \(\sum_{}^{}K \leq 4000\).

Subtask 2 (35% số điểm): \(N,Q \leq 2 \cdot 10^{5}\), cấu trúc cây gốc có dạng một ngôi sao (Nút \(1\) nối với tất cả các nút còn lại \(2,3,\ldots,N\)).

Subtask 3 (35% số điểm): \(N,Q \leq 2 \cdot 10^{5}\), \(\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.