#H1052. 题目还是简单一点好

题目还是简单一点好

题目描述

给你一棵 nn 个点的树,每个结点有颜色。

你从一个点 uu 出发,可以走到相邻的点 vv,当且仅当 (cu+1) %C =cv (c_u + 1) \ \% C \ = c_v ,其中 CC 是给定的。

有以下两种操作:

  • 1 u cuu 的颜色修改为 cc
  • 2 u 查询从点 uu 出发,能够到达多少个点。

输入格式

第一行三个数,n,q,Cn, q, C。分别表示点数,操作数,和颜色数。
第二行 nn 个数,第 ii 个数表示 cic_i
接下来 n1n - 1 行,每行两个数 ui,viu_i, v_i,表示一条树边。
接下来 qq 行。每行描述一个操作。

输出格式

对于每个 2 操作,输出一个整数,表示对于这个操作的回答。

10 10 2
1 0 0 1 1 1 0 1 1 0
8 6
4 8
7 2
3 8
10 2
9 5
4 5
1 3
2 1
2 10
2 8
1 5 1
1 10 0
1 1 0
1 4 0
1 4 0
1 1 0
2 8
2 8
1 
4 
4 
4
10 10 3
2 0 2 0 1 0 2 2 0 1
3 9
5 2
7 5
6 2
8 3
2 4
2 1
10 6
6 8
1 7 0
1 9 1
1 7 0
1 8 2
2 1
1 7 1
2 7
2 4
1 9 1
1 9 1
3 
1 
1

数据规模与约定

对于 100%100\% 的数据,n105n \leq 10 ^5q3×105q \leq 3 \times 10 ^5C100C \leq 100

子任务 特殊限制 分值
11 n,q103n, q\leq 10 ^3 1515
22 C=1C = 1 55
33 C=2C = 2 1010
44 C=3C = 3 1515
55 不存在 11 操作 2020
66 3535