[Buổi 19][Hợp nhất tập rời rạc (DSU)][HW] Bài 2: Nhật ký mở rộng hạ tầng
Nhật ký mở rộng hạ tầng
Bối cảnh và bài toán
Một hệ thống hạ tầng có n trạm, ban đầu chưa có tuyến kết nối nào. Mỗi ngày một tuyến mới được kích hoạt giữa hai trạm. Sau từng ngày, bộ phận giám sát cần biết hệ thống hiện chia thành bao nhiêu cụm độc lập và cụm lớn nhất đang có bao nhiêu trạm.
Dữ liệu đến theo dòng thời gian và không có thao tác gỡ bỏ tuyến.
Yêu cầu
Sau mỗi tuyến mới, in số cụm liên thông hiện tại và kích thước cụm lớn nhất.
Input
- Dòng 1 chứa
n m. mdòng tiếp theo, dòng thứichứa hai trạma bđược kết nối ở ngàyi.
Output
In m dòng. Mỗi dòng gồm hai số: số component hiện tại và kích thước component lớn nhất sau khi thêm tuyến tương ứng.
Ràng buộc
2 <= n <= 10^51 <= m <= 2 * 10^51 <= a, b <= n,a != b
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n, m <= 50 | 01–04 |
| S2 | 30% | n, m <= 5000 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
5 3
1 2
1 3
4 5
Output
4 2
3 3
2 3
Giải thích. Sau ba ngày, các component lần lượt biến đổi từ 5 cụm đơn lẻ thành {1,2,3} và {4,5}.
Ví dụ 2
Input
3 3
1 2
2 3
1 3
Output
2 2
1 3
1 3
Giải thích. Tuyến cuối nối hai trạm vốn đã cùng component nên không đổi số cụm hay kích thước lớn nhất.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M06-B19-HW02 |
| Buổi | B19 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 45 phút |
| Time limit | 1 giây |
| Memory limit | 512 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo CSES Problem Set – Road Construction (Task 1676).
Comments