CF444C DZY Loves Colors

题目描述

DZY 喜欢颜色,也喜欢绘画。 在一个五彩斑斓的日子里,DZY 得到了一条彩色丝带,这条丝带共有 $n$ 个单位(编号从 $1$ 到 $n$,从左到右)。第 $i$ 个单位初始颜色为 $i$。虽然已经足够多彩,但我们仍然认为每个单位的“色彩度”一开始都是 $0$。 DZY 热爱绘画,如你所知。他拿起颜色为 $x$ 的画笔,在丝带上画了条线。这种情况下,一些连续的单位会被涂色。假设某一时刻,第 $i$ 个单位的颜色为 $y$。当它被该画笔染色之后,颜色将变成 $x$,该单位的色彩度会增加 $|x-y|$。 DZY 计划执行 $m$ 次操作,每次操作有以下两种可能: 1. 将编号在 $l$ 到 $r$ 之间的所有单位(包含端点)统统用颜色 $x$ 染色。 2. 询问编号在 $l$ 到 $r$ 之间的所有单位(包含端点)的色彩度之和。 你能帮 DZY 完成这一系列操作吗?

输入格式

第一行包含两个用空格分隔的整数 $n,m$($1\leq n,m\leq 10^{5}$)。 接下来的 $m$ 行,每行以一个整数 $type$($1\leq type\leq 2$)开头,表示本次操作的类型。 如果 $type=1$,则本行还将包含三个整数 $l,r,x$($1\leq l\leq r\leq n; 1\leq x\leq 10^{8}$),表示一次 1 操作。 如果 $type=2$,则本行还将包含两个整数 $l,r$($1\leq l\leq r\leq n$),表示一次 2 操作。

输出格式

对于每次 2 操作,输出一行答案——所询问区间内的色彩度之和。

说明/提示

在第一个样例中,每个单位初始颜色为 $[1,2,3]$,色彩度为 $[0,0,0]$。 第一次操作后,颜色变为 $[4,4,3]$,色彩度为 $[3,2,0]$。 第二次操作后,颜色变为 $[4,5,5]$,色彩度为 $[3,3,2]$。 因此,唯一一次 2 操作的答案是 $8$。 由 ChatGPT 5 翻译