[HNOI2009]梦幻布丁
个布丁排成一行,需要进行 次操作。每次操作可能将某种颜色的所有布丁变为另一种颜色,或询问当前共有多少段颜色连续相同的布丁。
例如, 个布丁的颜色依次为 ,则共有 段颜色。
输入格式
第一行包含两个整数 ,分别表示布丁的数量和操作次数。
第二行包含 个整数 ,其中 表示第 个布丁的颜色。
接下来 行,每行描述一次操作:
- 若第一个整数为 ,则后面有两个整数 ,表示将所有颜色为 的布丁变为颜色 。 可能等于 ;
- 若第一个整数为 ,则询问当前共有多少段颜色。
输出格式
对于每个类型为 的询问,输出一行一个整数,表示当前颜色段的数量。
样例输入
4 3
1 2 2 1
2
1 2 1
2
样例输出
3
1
数据范围
- ;
- 所有颜色编号 均为非负的 位有符号整数;
- 操作类型只可能为 或 。
来源与许可
本题为 HNOI 2009 试题「梦幻布丁」,题面与测试数据整理自 BZOJ。
样例 1
输入
4 3
1 2 2 1
2
1 2 1
2
输出
3
1