原题来自:SDOI 2011
SDOI 2011
给定一棵有 n 个节点的无根树和 m 个操作,操作共两类。
n
m
1、将节点 a 到节点 b 路径上的所有节点都染上颜色;
1、
a
b
2、询问节点a 到节点b 路径上的颜色段数量,连续相同颜色的认为是同一段,例如112221 由三段组成:11 、 222、1。
2、
112221
11 、 222、1
请你写一个程序依次完成操作。
第一行包括两个整数 n,m,表示节点数和操作数;
n,m
第二行包含 n个正整数表示n 个节点的初始颜色;
接下来若干行包含两个整数 x和 y,表示 x和 y 之间有一条无向边;
x
y
接下来若干行每行描述一个操作:
1、Cabc 表示这是一个染色操作,把节点a 到节点 b路径上所有点(包括 a 和b)染上颜色;
1、Cabc
2、Qab表示这是一个询问操作,把节点 a到节点 b 路径上(包括a 和 b)的颜色段数量。
2、Qab
对于每个询问操作,输出一行询问结果。
样例输入
6 52 2 1 2 1 11 21 32 4 2 5 2 6Q 3 5C 2 1 1Q 3 5C 5 1 2Q 3 5
样例输出
312
对于 100% 的数据, N,M≤10^5 , 所有颜色 C 为整数且在 [0,10^9] 之间。
100%
C