Số Vùng Kết Nối
Xem dưới dạng PDF
Gửi bài giải
Điểm:
20
Giới hạn thời gian:
3.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Thành phố thông minh quản lý mạng lưới giao thông gồm \(N\) khu vực. Các tuyến đường được xây dựng và phá bỏ liên tục theo kế hoạch quy hoạch.
Định kỳ, hệ thống cần báo cáo hiện có bao nhiêu vùng liên thông (tập hợp các khu vực có thể đến được nhau thông qua các tuyến đường hiện có).
Hệ thống nhận \(Q\) sự kiện tuần tự:
1 u v— Xây tuyến đường nối khu vực \(u\) và \(v\) (đảm bảo chưa có tuyến trực tiếp giữa \(u\) và \(v\)).2 u v— Phá tuyến đường giữa \(u\) và \(v\) (đảm bảo tuyến đang tồn tại).3— Báo cáo số vùng liên thông hiện tại.
Định dạng đầu vào
- Dòng 1: Hai số nguyên \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
- \(Q\) dòng tiếp theo, mỗi dòng là một sự kiện (
1 u v,2 u v, hoặc3).
Định dạng đầu ra
Với mỗi sự kiện 3, in một số nguyên — số vùng liên thông hiện tại.
Ví dụ
Input:
4 7
3
1 1 2
3
1 3 4
3
2 1 2
3
Output:
4
3
2
3
Giải thích:
- Ban đầu: 4 khu vực cô lập → 4 vùng.
- Xây 1–2: {1,2}, {3}, {4} → 3 vùng.
- Xây 3–4: {1,2}, {3,4} → 2 vùng.
- Phá 1–2: {1}, {2}, {3,4} → 3 vùng.
Ràng buộc
| Nhóm | \(N\) | \(Q\) |
|---|---|---|
| 1 (30%) | \(\le 10^3\) | \(\le 10^3\) |
| 2 (70%) | \(\le 10^5\) | \(\le 10^5\) |
\(1 \le u, v \le N\), \(u \ne v\).
Nhận xét