题号:NC20076
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色.
输入描述:
第一行给出N,M表示布丁的个数和好友的操作次数.
第二行N个数A1,A2...An表示第i个布丁的颜色从
第三行起有M行,对于每个操作,若第一个数字是1表示要对颜色进行改变,其后的两个整数X,Y表示将所有颜色为X的变为Y,X可能等于Y.
若第一个数字为2表示要进行询问当前有多少段颜色,这时你应该输出一个整数. 0
输出描述:
针对第二类操作即询问,依次输出当前有多少段颜色.
示例1
说明
初始时布丁颜色依次为1,2,2,1,三段颜色分别为 [1, 1], [2, 3], [4, 4]。
一次操作后,布丁的颜色变为1,1,1,1,只有[1,4] 一段颜色。
备注:
对于全部的测试点,保证