만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

서울과학고등학교 쪼개기

시간 제한1초메모리 제한512 MB

요약
트리의 간선마다 색이 칠해져 있습니다. 간선 하나를 다시 칠할 때마다 같은 색으로 이어진 조각의 개수를 구합니다.
난이도

보통10점 중 5점

유형
해시맵, 트리, 구현
정답자
아직 제출이 없습니다

문제

서울의 명소 서울과학고등학교에는 1부터 NN까지 번호가 매겨진 건물이 N−1N - 1개의 길로 연결되어 있다. 서울과학고등학교는 어떤 두 건물 사이도 연결된 길만으로 오갈 수 있다. 다음은 유효한 서울과학고등학교이다.

정후는 서울과학고등학교를 여러 조각으로 분열시킨 뒤 이곳을 지배할 계획을 세우고 있다. 각 길은 MM개의 색 중 정확히 하나로 칠해져 있으며, 정확히 하나의 조각에 속한다. 한 건물을 공유하는 두 길이 같은 색으로 칠해져 있으면 두 길은 연결되어 있다. 연결된 길은 같은 조각에 속하고, 연결되지 않은 길은 다른 조각에 속하도록 조각을 나눈다. 다음 서울과학고등학교는 정확히 세 개의 조각으로 쪼개진다.

정후는 서울과학고등학교에 심어 둔 스파이에게 명령해 길에 색을 QQ번 새로 칠하게 한다. 길을 새로 칠할 때마다 서울과학고등학교가 정확히 몇 개의 조각으로 나뉘는지 알려 주자.

길의 색을 새로 칠할 때 새 색이 이전 색과 같을 수 있음에 주의하라. 새로 칠한 길은 그 길에 다시 새로운 색이 칠해지기 전까지 지워지지 않는다.

입력

첫째 줄에 세 정수 NN, MM, QQ가 공백으로 구분되어 주어진다. 둘째 줄부터 NN째 줄까지 N−1N - 1개의 줄에 세 정수 uiu_i, viv_i, wiw_i가 공백으로 구분되어 주어진다. 이는 색 wiw_i로 칠해진 ii번 길이 uiu_i번 건물과 viv_i번 건물을 연결한다는 뜻이다. N+1N + 1째 줄부터 N+QN + Q째 줄까지 QQ개의 줄에 두 정수 pip_i, tit_i가 공백으로 구분되어 주어진다. 이는 pip_i번 길을 색 tit_i로 칠하라는 명령이다.

출력

QQ개의 줄에 걸쳐 ii번째 줄에는 ii번째 명령을 처리한 뒤의 조각 개수를 나타내는 정수 하나를 출력한다.

제한

  • 2 ≤ NN, MM ≤ 200,000
  • 1 ≤ QQ ≤ 100,000
  • 1 ≤ uiu_i < viv_i ≤ NN
  • 1 ≤ wiw_i, tit_i ≤ MM
  • i≠ji \neq j이면 ui≠uju_i \neq u_j 또는 vi≠vjv_i \neq v_j이다.
  • 1 ≤ pip_i ≤ N−1N - 1
  • 주어지는 모든 수는 정수이다.

힌트

이 문제를 풀어서 서울과학고등학교를 쪼개 버리자.

예제1

  1. 예제 1

    입력
    7 2 4
    1 2 1
    2 3 2
    2 4 1
    2 5 2
    5 6 1
    5 7 2
    4 1
    6 1
    5 2
    3 2
    
    예상 출력
    3
    2
    3
    3