P1112 区间连续段
题目描述
给你一个长度为n的数组 \(a_1, a_2, \dots a_n\) 。
一开始这n个元素都为0。
然后有m次操作,每次操作有两种操作类型:
update x y a
:将区间 \([x,y]\) 范围内的元素都置为a
;query x y
:询问区间 \([x,y]\) 范围内有多少不同的数据段。
举个例子,如果一个区间内有如下的数 \(3,3,2,2,2,1\) ,那么它有3段数据段,分别是 \(3,3\),\(2,2,2\) 和 \(1\) 。
输入格式
输入的第一行包含两个整数 \(n,m(1 \le n \le 10^5, 1 \le m \le 10^5)\) 。
接下来 \(m\) 行每行可能是两种形式:
update x y a
:将区间 \([x,y]\) 范围内的元素都置为a
;query x y
:询问区间 \([x,y]\) 范围内有多少不同的数据段。
其中 \(1 \le x \le y \le n, 1 \le a \le 10^9\) 。
输出格式
对于每次 query
询问,输出该区间的数据段的个数。
样例输入
3 3
update 1 2 1
query 1 2
query 2 3
样例输出
1
2
【推荐】FlashTable:表单开发界的极速跑车,让你的开发效率一路狂飙
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· MySQL索引完全指南:让你的查询速度飞起来
· 一个字符串替换引发的性能血案:正则回溯与救赎之路
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· 我用这13个工具,让开发效率提升了5倍!
· 32岁入行STM32迟吗?
· C#.Net筑基-泛型T & 协变逆变
· Coze工作流实战:一键生成鸡汤视频——厉害的人,早已戒掉情绪