Tập hợp trên cây (Thi thử VOI 2021 Day 1)
Xem PDF
Điểm:
2300
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Cho \(1\) cây \(n\) đỉnh và \(1\) tập \(A\) gồm \(m\) đỉnh trên cây. Khoảng cách giữa \(2\) đỉnh trên cây là số cạnh trên đường đi giữa \(2\) đỉnh đó. Người ta thực hiện \(q\) thao tác thuộc \(1\) trong \(2\) loại sau:
- 1 u: nếu đỉnh \(u\) chưa có trong tập \(A\) thì thêm đỉnh \(u\) vào tập \(A\), ngược lại nếu đỉnh \(u\) có trong tập \(A\) thì bỏ đỉnh \(u\) ra khỏi tập \(A\).
- 2 u: gọi \(h\) là khoảng cách tối thiểu từ \(1\) đỉnh trong tập \(A\) tới \(u\), tìm \(h\) và đếm số đỉnh trong tập \(A\) có khoảng cách tới \(u\) bằng \(h\).
Input
- Dòng đầu tiên chứa \(3\) số nguyên dương \(n, m, q\).
- \(n - 1\) dòng tiếp theo mỗi dòng chứa \(2\) số nguyên dương \(u, v\) tương ứng với có cạnh nối từ \(u\) đến \(v\) trên cây.
- Dòng tiếp theo chứa \(m\) số nguyên phân biệt là các đỉnh thuộc tập \(A\).
- \(q\) dòng tiếp theo, mỗi dòng chứa \(1\) trong \(2\) loại truy vấn.
Output
- Với mỗi truy vấn loại \(2\) in ra \(2\) số nguyên lần lượt là khoảng cách tối thiểu cần tìm và số đỉnh trong tập \(A\) có khoảng cách đó. Dữ liệu đảm bảo lúc này tập \(A\) luôn có ít nhất \(1\) phần tử.
Example
Test 1
Input
7 3 6
1 2
2 3
2 4
1 5
5 6
6 7
1 4 6
2 1
1 1
2 1
1 6
1 3
2 7
Output
0 1
2 2
5 2
Subtask
- Subtask \(1\) (\(25\%\) số điểm): \(1 \leq n, q \leq 5000\)
- Subtask \(2\) (\(25\%\) số điểm): \(1 \leq n, q \leq 30000\) và không có thao tác loại \(1\)
- Subtask \(3\) (\(25\%\) số điểm): \(1 \leq n, q \leq 30000\)
- Subtask \(4\) (\(25\%\) số điểm): \(1 \leq n, q \leq 50000\)
Kỳ thi:
- Thi thử VOI ngày 1 (12 Tháng 2., 2022)
Bình luận