题目 1760

树上数颜色

查看题解 ↗GitHub ↗如何评测
题号
1760
时间限制
3000 ms
内存限制
512 MB
标签
数据结构
来源
信息学奥赛一本通 · 高手训练篇·四、数据结构(高手训练)

【题目描述】

送你一棵nn个点的树,树根为11。一开始每个点上有一个1∼n1\sim n 的颜色cic_i,不同点颜色可以相同。 现在有 qq 次操作, 分为两种类型: 1  u  l  r1\;u\;l\;r:询问子树 uu 中有多少种在 ll 到 rr 之间的颜色至少出现了一次; 2  u  c2\;u\;c:将 uu 的颜色修改为 cc。 部分测试点要求强制在线。

【输入】

第一行三个整数n,q,tn,q,t,分别表示树的点数,操作的个数和是否强制在线。 t=0t=0表示不强制在线,t=1t=1表示强制在线。 接下来一行nn个整数 cic_i,表示每个点的初始颜色。 接下来n−1n-1行,每行两个整数uiu_i;viv_i表示一条uiu_i到viv_i的边。 接下来qq行,每行四个或三个整数,表示一个操作。 当t=1t=1时,需要对第一个数以外的其他数异或上一次询问的答案lastanslastans,初始时 lastans=0lastans=0。

【输出】

对于每个询问输出一行一个整数,表示答案。

【输入样例】

文本
5 5 0
5 5 2 5 5
5 1
2 5
4 2
3 5
1 2 2 3
2 5 1
1 1 1 5
2 3 2
1 3 1 5

【输出样例】

文本
0
3
1

【提示】

文本
5 5 1\n4 1 1 5 4\n5 1\n3 5\n2 3\n4 3\n2 5 4\n2 2 2\n1 3 1 5\n2 1 2\n1 1 2 7
文本
3\n1

【数据规模和约定】

\n对于前20%的数据,n,q≤5000n,q≤5000。\n对于前40%的数据,n,q≤50000n,q≤50000。 \n对于另20%的数据,没有修改操作。\n对于另20%的数据,t=0t=0。\n对于100%的数据,1≤n,q≤1000001≤n,q≤100000。");

数据下载

题目 1760 的公开数据

正在读取文件列表…

常用命令

题目 1760 的 ROJ 命令

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