Dynamic Connectivity

Xem dạng PDF

Gửi bài giải


Điểm: 0,32 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho một đồ thị vô hướng gồm ~n~ đỉnh và ~m~ cạnh. Có ~2~ loại thao tác cần thực hiện:

  • ~1.~ Thêm ~1~ cạnh giữa ~2~ đỉnh ~a~ và ~b~.

  • ~2.~ Xóa ~1~ cạnh giữa ~2~ đỉnh ~a~ và ~b~. Dữ liệu đảm bảo tồn tại cạnh giữa đỉnh ~a~ và ~b~ trước khi xóa.

Nhiệm vụ của bạn là đếm số thành phần liên thông của đồ thị sau mỗi thao tác được thực hiện

Input

Dòng đầu tiên gồm ~3~ số nguyên ~n, m, k~ (~2 \le n \le 10^5, 1 \le m, k \le 10^5~)

~m~ dòng tiếp theo, mỗi dòng gồm ~2~ số ~a, b~ là ~1~ cạnh của đồ thị ban đầu. Có tối đa ~1~ cạnh giữa ~2~ đỉnh bất kì. (~1 \le a, b \le n~)

~k~ dòng tiếp theo, mỗi dòng gồm ~3~ số ~t, a, b~. Khi ~t = 1~ (thêm cạnh) hoặc ~t = 2~ (xóa cạnh). ~1~ cạnh được thêm giữa ~2~ đỉnh khi chưa tồn tại cạnh giữa ~2~ đỉnh đó, và chỉ cạnh đã tồn tại có thể được xóa.

Output

In ra ~k + 1~ số: đầu tiên là số thành phần liên thông trước khi các thao tác diễn ra, và số thành phần liên thông sau mỗi thao tác biến đổi.

Sample Input 1

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

Sample Output 1

2 2 2 1

Bình luận

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



  • 3
    TranThienPhuc2657  đã bình luận lúc 14, Tháng 5, 2026, 2:23

    Bài tương tự với giới hạn cao hơn một chút

    Dynamic Connectivity Offline

    Comment sau spoil thuật (mình không đề cập tới cách làm chi tiết nhưng sẽ có đề cập tới một số cái có liên quan tới hướng giải)

    Bài đó sinh ra để mà được giải offline bằng một hướng tiếp cận khác. Bản thân mình chưa thử giải bài này theo hướng online nên cũng không rõ là khi đem code online của bài này qua bài đó có bị TLE không. Nhưng mình khá chắc là nó chạy kém tối ưu hơn so với cách offline.


  • -38
    themluachon2008  đã bình luận lúc 28, Tháng 12, 2023, 2:06

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -79
    Loc2008  đã bình luận lúc 27, Tháng 12, 2023, 8:13

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • -35
      redacted  đã bình luận lúc 28, Tháng 12, 2023, 1:53 chỉnh sửa

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -20
    ngthang2022  đã bình luận lúc 21, Tháng 12, 2023, 15:34

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.