题目名称 4149. 色板游戏
输入输出 color.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2025-05-29加入
开放分组 全部用户
提交状态
分类标签
位运算 线段树
分享题解
通过:1, 提交:1, 通过率:100%
Gravatarsyzhaoss 100 0.645 s 4.83 MiB C++
关于 色板游戏 的近10条评论(全部评论)

4149. 色板游戏

★★★   输入文件:color.in   输出文件:color.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

阿宝上学了,今天老师拿来了一块很长的涂色板。

【题目描述】

色板长度为 $L$,$L$ 是一个正整数,所以我们可以均匀地将它划分成 $L$ 块 $1$ 厘米长的小方格。并从左到右标记为 $1, 2, \dots L$。

现在色板上只有一个颜色,老师告诉阿宝在色板上只能做两件事:

1. C A B C 指在 $A$ 到 $B$ 号方格中涂上颜色 $C$。

2. P A B 指老师的提问:$A$ 到 $B$ 号方格中有几种颜色。

学校的颜料盒中一共有 $T$ 种颜料。为简便起见,我们把他们标记为 $1, 2, \dots T$. 开始时色板上原有的颜色就为 $1$ 号色。 面对如此复杂的问题,阿宝向你求助,你能帮助他吗?

【输入格式】

第一行有3个整数 $L (1 \le L \le 10^5), T (1 \le T \le 30) 和 O (1 \le O \le 10^5)$。 在这里 $O$ 表示事件数。

接下来 $O$ 行, 每行以 C A B C 或 P A B 的形式表示所要做的事情(这里 $A, B, C$ 为整数, 可能 $A> B$,这样的话需要你交换 $A$ 和 $B$)。

【输出格式】

对于老师的提问,做出相应的回答。每行一个整数。

【样例输入】

2 2 4
C 1 1 2
P 1 2
C 2 2 2
P 1 2

【样例输出】

2
1