Color query

Xem dạng PDF

Gửi bài giải

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

Người đăng:
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 có ~n~ đỉnh, đỉnh thứ ~i~ có màu ~a_i~. Ban đầu đồ thị chưa có cạnh nào.

Cho ~q~ truy vấn, mỗi truy vấn thuộc một trong hai dạng sau:

  • ~1\ u\ v~: Thêm một cạnh nối giữa ~u~ và ~v~.
  • ~2\ u\ c~: Tính số đỉnh có màu ~c~ trong thành phần liên thông chứa ~u~.

Input format

Dòng đầu tiên chứa hai số nguyên dương ~n~ và ~q~ (~n\le 100000~; ~q \le 200000~).

Dòng tiếp theo chứa ~n~ số nguyên dương ~a_1, a_2, \ldots, a_n~ (~a_i \le n~).

~q~ dòng cuối cùng, mỗi dòng gồm ba số nguyên dương, số nguyên đầu tiên là loại của truy vấn (~1~ hoặc ~2~), hai số nguyên còn lại không vượt quá ~n~.

Output format

Với mỗi truy vấn loại ~2~, in ra trên một dòng kết quả của truy vấn đó.

Sample

Input
5 7
2 4 2 3 2
1 1 2
2 1 2
1 3 5
2 2 1
1 1 3
2 3 2
2 4 3
Output
1
0
3
1

Bình luận

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



  • -8
    trunn  đã bình luận lúc 16, Tháng 10, 2023, 2:21 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.


  • -4
    quoctuan  đã bình luận lúc 14, Tháng 9, 2023, 8:56 chỉnh sửa

    Có lời giải trên Wiki Vnoi https://vnoi.info/wiki/algo/data-structures/disjoint-set-union.md#k%C4%A9-thu%E1%BA%ADt-g%E1%BB%99p-set-small-to-large-merging


  • -45
    trunn  đã bình luận lúc 2, Tháng 12, 2022, 2:18

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


    • -32
      themaver1cks  đã bình luận lúc 2, Tháng 12, 2022, 2:21 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.