1.3线段树模板题3:区间染色问题
在DotA游戏中,帕吉的肉钩实际上是大多数英雄中最恐怖的东西。挂钩由长度相同的几个连续的金属棍组成。
现在,帕吉(Pudge)希望对挂接进行一些操作。
让我们将钩子的连续金属棒从1编号为N。对于每次操作,Pudge可以将连续的金属棒(从X编号为Y)更改为铜质棒,银质棒或金质棒。
吊钩的总值计算为N个金属棒的总和。更精确地,每种棒的值计算如下:
对于每个铜棒,值为1。
对于每个银棒,值为2。
对于每个金色棒,值为3。
帕吉想知道执行该操作后,钩子的总值。
您可能会认为原来的钩子是由铜棒组成的。
初始的时候,整个序列都是1,接下来,每次输入l,r,x。表示将l到r之间修改为x且x只会是1、2、3,最后问你序列总和。
输入
输入包含几个测试用例。输入的第一行是案例数。不超过10个案例。
对于每种情况,第一行包含一个整数N,1 <= N <= 100,000,这是帕吉肉钩的棍棒数,第二行包含一个整数Q,0 <= Q <= 100,000,这是操作次数。
接下来的Q行,每行包含三个整数X,Y,1 <= X <= Y <= N,Z,1 <= Z <= 3,这定义了一个操作:将编号从X到Y的摇杆变成金属种类Z,其中Z = 1表示铜种类,Z = 2表示银种类,Z = 3表示金色种类。
输出