问题 2604 --花园

2604: 花园

题目描述

  奇怪的大学有一座奇怪的花园,花园由 $N$ 座温室组成,温室依次标号为 $1,2...,N$,温室之间由 $N-1$ 条双向道路连接。
每一座温室都种植这一种花, 随着季节的变换,温室里的花的种类也在不断发生着变化。
ShenX平时非常喜欢在花园中漫步,他想知道从温室$x$走到温室$y$的路径中(包括两个端点),第$t$种花出现的次数。

输入

第一行为两个整数 $N,Q$,分别表示温室的数目和操作的数目;
第二行有N个整数 $T_1,T_2,... ,T_n$,其中 $T_i$ 表示温室i中的花的种类;
接下来 $N-1$ 行,每个两个整数 $x,y$,表示温室x和温室y之间有一条双向道路。
接下来 $Q$ 行,表示$Q$个操作,分别为以下两种形式之一:
● $C x t$ 表示在温室x中的花的种类变为$t$;
● $Q x t$ 表示询问温室  走到温室 $y$ 的路径中(包括两个端点),第$t$种花出现的次数。

为了体现在线操作,输入数据中的每个操作的参数都进行了加密.记最后一次询问的答案为$ans_{last}$ (一开始没有进行过询问时设$ans_{last}$为0),读入中的x, y, t均需要异或上$ans_{last}$以得到真实值,在C/C++中异或为^运算符,
在Pascal中为xor运算符.

输出

对于每个询问操作,给出答案

样例输入输出

输入#1 复制
5 8 
10 20 30 40 50
1 2
1 3
3 4
3 5
Q 2 5 10
C 2 21
Q 3 4 21
C 6 22
Q 1 7 28
C 5 20
Q 2 5 20
Q 2 0 9
输出#1 复制
1
2
0
3
1

提示

【样例解释】
加密前的操作

Q 2 5 10
C 3 20
Q 2 5 20
C 4 20
Q 3 5 30
C 5 20
Q 2 5 20
Q 1 3 10 

[数据规模与约定]
对于30%的数据,有N≤1000,Q≤2000;
对于50%的数据,有N≤10000, Q≤20000;
对于100%的数据,有1≤N≤100000,1 ≤Q≤200000,0≤Ti < 231.

序号 标题 作者 发表时间 费用 订购数 操作