Submit solution
Points:
0.50 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Suggester:
Problem type
Allowed languages
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
Comments
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.