题目 1563

「一本通 4.5 练习 3」染色

查看题解 ↗GitHub ↗如何评测
题号
1563
时间限制
1000 ms
内存限制
128 MB
标签
树线段树数据结构

【题目描述】

原题来自:SDOI 2011

给定一棵有 nn 个节点的无根树和 mm 个操作,操作共两类。

1、将节点 aa 到节点 bb 路径上的所有节点都染上颜色;

2、询问节点 aa 到节点 bb 路径上的颜色段数量,连续相同颜色的认为是同一段,例如 112221112221 由三段组成:1111 、 222222、11。

请你写一个程序依次完成操作。

【输入】

第一行包括两个整数 n,mn,m,表示节点数和操作数;

第二行包含 nn 个正整数表示 nn 个节点的初始颜色;

接下来若干行包含两个整数 xx 和 yy,表示 xx 和 yy 之间有一条无向边;

接下来若干行每行描述一个操作:

1、C a b cC\ a\ b\ c 表示这是一个染色操作,把节点 aa 到节点 bb 路径上所有点(包括 aa 和 bb)染上颜色;

2、Q a bQ\ a\ b 表示这是一个询问操作,把节点 aa 到节点 bb 路径上(包括 aa 和 bb)的颜色段数量。

【输出】

对于每个询问操作,输出一行询问结果。

【输入样例】

文本
6 5
2 2 1 2 1 1
1 2
1 3
2 4 
2 5 
2 6
Q 3 5
C 2 1 1
Q 3 5
C 5 1 2
Q 3 5

【输出样例】

文本
3
1
2

【提示】

数据范围与提示:

对于 100% 的数据,N,M≤105N,M\leq 10^5 , 所有颜色 CC 为整数且在 [0,1090,10^9]之间。

【来源】

一本通在线评测

数据下载

题目 1563 的公开数据

正在读取文件列表…

常用命令

题目 1563 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。