비트셋 마스터
시간 제한6초메모리 제한512 MB
각 정점은 자기 자신만 담은 집합으로 시작합니다. 간선 연산은 양 끝 정점의 집합을 합치고, 질의는 정점 u를 포함하는 집합의 개수를 구합니다.
문제
중국에서는 인 문제에서도 알고리즘이 쉽게 통과한다는 것이 잘 알려져 있다.
정점이 개이고 간선이 개인 트리가 주어진다. 간선은 이다. 각 정점 마다 집합 가 있으며, 처음에는 이다.
연산은 두 종류이다.
- "1 u": 를 포함하는 집합 ()의 개수를 출력한다.
- "2 p": 번째 간선 의 두 끝점에 해당하는 집합 와 를 합집합 로 둘 다 바꾼다.
개의 연산을 수행한다. 첫 번째 종류의 연산마다 답을 구한다.
시간 제한은 6000 ms, 메모리 제한은 512 MB이다.
입력
첫 줄에 정수 과 이 주어진다 (, ).
이어서 개의 줄에 간선을 나타내는 정수 와 가 주어진다 ().
이어서 개의 줄에 연산을 나타내는 정수 와 가 주어진다 (, ).
출력
첫 번째 종류의 연산마다 답을 한 줄에 정수 하나로 출력한다.