看 我们可以被把本题抽象一下
有一个length为n的序列,序列一开始为均为1,有q次询问,2种操作C:改变A B的value为CP:查询A B有几类value有一个length为 n 的序列,序列一开始为均为 1,有q 次询问,2种操作\\ C : 改变 A ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ B 的value 为 C\\P : 查询 A
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ B 有几类value 有一个length为n的序列,序列一开始为均为1,有q次询问,2种操作C:改变A B的value为CP:查询A B有几类value
这恰恰和我们的线段树
不谋而合
(TIM经典语录)、
于是
1. 建树 函数
2. 改变COLOUR 函数
3. 更新子节点懒MARK 函数
4. 区间查询 函数
5. 完整代码
不多不多才近80行不多不多才近80行不多不多才近80行