Chọn ĐTQG Hải Phòng 2026 - Đường đi giao nhau trên cây

Xem dạng PDF

Gửi bài giải

Điểm: 70,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cây là một đồ thị vô hướng liên thông không có chu trình. Cho cây gồm ~n~ đỉnh, các đỉnh được đánh số thứ tự từ ~1~ đến ~n~. Do các đường đi là vô hướng nên đường đi đơn giữa hai đỉnh ~x, y~ cũng là đường đi đơn giữa hai đỉnh ~y, x~ (trường hợp ~x = y~ cũng được tính là một đường đi).

Cho ~q~ truy vấn, mỗi truy vấn gồm hai đỉnh ~u, v~ ~(1 \le u, v \le n)~, yêu cầu đếm số đường đi đơn trên cây sao cho mỗi đường đi có đúng một đỉnh chung với đường đi đơn giữa hai đỉnh ~u, v~.

Yêu cầu: In ra câu trả lời cho mỗi truy vấn.

Input

Dòng đầu tiên chứa số nguyên dương ~t~ ~(1 \le t \le 5)~ là số bộ dữ liệu. Tiếp theo là ~t~ nhóm dòng, mỗi nhóm dòng mô tả một bộ dữ liệu với cấu trúc:

  • Dòng đầu tiên chứa hai số nguyên ~n, q~ ~(1 \le n, q \le 10^5)~ lần lượt là số đỉnh của cây và số truy vấn;

  • ~n-1~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~u, v~ ~(1 \le u, v \le n)~ mô tả một cạnh nối giữa đỉnh ~u~ và đỉnh ~v~;

  • ~q~ dòng tiếp theo, mỗi dòng gồm hai số nguyên ~u, v~ mô tả một truy vấn.

Output

Gồm ~t~ nhóm dòng. Nhóm dòng thứ ~t~ gồm ~q~ dòng, dòng thứ ~i~ là câu trả lời cho truy vấn thứ ~i~ ~(1 \le i \le q)~.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~1 \le n, q \le 100~
2 ~30\%~ ~1 \le n, q \le 1000~
3 ~40\%~ Không có giới hạn gì thêm

Sample Input 1

1
6 2
1 2
1 3
1 4
4 5
4 6
2 6
4 5

Sample Output 1

6
9

Notes

  • Với truy vấn ~(2,6)~, các đường đi đơn có chung một đỉnh với đường đi đơn giữa hai đỉnh ~2,6~ là đường đi giữa các cặp đỉnh: ~(2,2), (1,1), (4,4), (6,6), (1,3), (4,5)~.

  • Với truy vấn ~(4,5)~, các đường đi đơn có chung một đỉnh với đường đi đơn giữa hai đỉnh ~4,5~ là đường đi giữa các cặp đỉnh: ~(4,4), (5,5), (4,6), (1,4), (2,4), (3,4), (1,6), (2,6), (3,6)~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.