[Buổi 19][Hợp nhất tập rời rạc (DSU)][WS] Bài 1: Trung tâm liên kết cụm
Trung tâm liên kết cụm
Bối cảnh và bài toán
Một trung tâm điều hành quản lý n nút dịch vụ. Ban đầu mỗi nút hoạt động như một cụm độc lập. Trong quá trình vận hành, hệ thống có thể thiết lập liên kết giữa hai nút; từ thời điểm đó, toàn bộ hai cụm chứa chúng được xem là một cụm thống nhất.
Đội vận hành cần đồng thời trả lời các câu hỏi về việc hai nút có thuộc cùng cụm hay không, kích thước cụm hiện tại của một nút và tổng số cụm còn lại. Số thao tác lớn nên việc quét lại toàn bộ hệ thống sau mỗi thay đổi là không khả thi.
Yêu cầu
Xử lý lần lượt q thao tác theo đúng thứ tự xuất hiện.
Input
- Dòng 1 chứa hai số nguyên
n q. qdòng tiếp theo, mỗi dòng có một trong bốn dạng:MERGE a b: thiết lập liên kết giữa hai núta,b.SAME a b: hỏiavàbhiện có cùng cụm hay không.SIZE x: hỏi số nút trong cụm chứax.COUNT: hỏi tổng số cụm hiện tại.
Output
- Với mỗi lệnh
SAME, inYEShoặcNO. - Với mỗi lệnh
SIZE, in kích thước cụm tương ứng. - Với mỗi lệnh
COUNT, in số cụm hiện tại. - Lệnh
MERGEkhông tạo output.
Ràng buộc
1 <= n, q <= 2 * 10^51 <= a, b, x <= n- Có thể có lệnh
MERGEgiữa hai nút vốn đã cùng cụm.
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n, q <= 50 | 01–04 |
| S2 | 30% | n, q <= 5000 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
5 9
COUNT
SAME 1 2
MERGE 1 2
SIZE 1
COUNT
MERGE 2 3
SAME 1 3
SIZE 3
COUNT
Output
5
NO
2
4
YES
3
3
Giải thích. Sau khi nối 1–2, số cụm giảm từ 5 xuống 4; nối tiếp 2–3 làm ba nút 1,2,3 nằm cùng một cụm.
Ví dụ 2
Input
3 6
MERGE 1 2
MERGE 1 2
COUNT
SIZE 2
SAME 2 3
SIZE 3
Output
2
2
NO
1
Giải thích. Lần MERGE thứ hai không thay đổi partition vì 1 và 2 đã cùng cụm.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M06-B19-WS01 |
| Buổi | B19 |
| Loại bài | WORKSHOP |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 40 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: FULLHOUSE DEV – Self-generated.
Comments