CF444C.DZY Loves Colors
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
DZY loves colors, and he enjoys painting.
On a colorful day, DZY gets a colorful ribbon, which consists of n units (they are numbered from 1 to n from left to right). The color of the i-th unit of the ribbon is i at first. It is colorful enough, but we still consider that the colorfulness of each unit is 0 at first.
DZY loves painting, we know. He takes up a paintbrush with color x and uses it to draw a line on the ribbon. In such a case some contiguous units are painted. Imagine that the color of unit i currently is y. When it is painted by this paintbrush, the color of the unit becomes x, and the colorfulness of the unit increases by |x - y|.
DZY wants to perform m operations, each operation can be one of the following:
- Paint all the units with numbers between l and r (both inclusive) with color x.
- Ask the sum of colorfulness of the units between l and r (both inclusive).
Can you help DZY?
DZY 喜欢颜色,也喜欢绘画。
在一个色彩缤纷的日子里,DZY 得到了一条由 n 个单位组成的彩色丝带(从左到右依次编号为 1 到 n)。最初,第 i 个单位的颜色为 i。这已经足够绚丽了,但我们仍认为每个单位初始的“绚丽度”(colorfulness)均为 0。
我们都知道 DZY 热爱绘画。他拿起一支颜色为 x 的画笔,在丝带上作画——此时若干连续的单位会被涂上该颜色。假设当前单位 i 的颜色为 y,那么当它被这支画笔涂色后,其颜色将变为 x,且其绚丽度将增加 ∣x−y∣。
DZY 想要执行 m 次操作,每次操作为以下两种之一:
- 将编号在 l 到 r(含端点)之间的所有单位涂成颜色 x;
- 查询编号在 l 到 r(含端点)之间的所有单位的绚丽度之和。
你能帮帮 DZY 吗?
输入格式
The first line contains two space-separated integers n, m (1 ≤ n, m ≤ 105).
Each of the next m lines begins with a integer type (1 ≤ type ≤ 2), which represents the type of this operation.
If type = 1, there will be 3 more integers l, r, x (1 ≤ l ≤ r ≤ n; 1 ≤ x ≤ 108) in this line, describing an operation 1.
If type = 2, there will be 2 more integers l, r (1 ≤ l ≤ r ≤ n) in this line, describing an operation 2.
第一行包含两个以空格分隔的整数 n、m(1 ≤ n, m ≤ 105)。
接下来的 m 行中,每行以一个整数 type(1 ≤ type ≤ 2)开头,表示该操作的类型。
若 type = 1,则该行还会包含另外三个整数 l、r、x(1 ≤ l ≤ r ≤ n;1 ≤ x ≤ 108),描述操作 1。
若 type = 2,则该行还会包含另外两个整数 l、r(1 ≤ l ≤ r ≤ n),描述操作 2。
输出格式
For each operation 2, print a line containing the answer — sum of colorfulness.
对于每个操作 2,输出一行,包含答案——即色彩度之和。
输入输出样例
输入#1
3 3 1 1 2 4 1 2 3 5 2 1 3
输出#1
8
输入#2
3 4 1 1 3 4 2 1 1 2 2 2 2 3 3
输出#2
3 2 1
输入#3
10 6 1 1 5 3 1 2 7 9 1 10 10 11 1 3 8 12 1 1 10 3 2 1 10
输出#3
129
说明/提示
In the first sample, the color of each unit is initially [1, 2, 3], and the colorfulness is [0, 0, 0].
After the first operation, colors become [4, 4, 3], colorfulness become [3, 2, 0].
After the second operation, colors become [4, 5, 5], colorfulness become [3, 3, 2].
So the answer to the only operation of type 2 is 8.
在第一个样例中,每个单位的初始颜色为 [1, 2, 3],对应的色彩度为 [0, 0, 0]。
第一次操作后,颜色变为 [4, 4, 3],色彩度变为 [3, 2, 0]。
第二次操作后,颜色变为 [4, 5, 5],色彩度变为 [3, 3, 2]。
因此,唯一一次类型 2 操作的答案为 8。
输入解题思路,AI测评打分。不知道怎么写?