#L3944. 「JOI 2023 Final」现代机器

「JOI 2023 Final」现代机器

#3944. 「JOI 2023 Final」现代机器

传统 25002500 ms 10241024 MiB

4141 通过
176176 提交

题目描述

译自 JOI 20232023 Final T5「現代的な機械 / Modern Machine」

Bitaro 生日这天收到了一个 JOI 机作为生日礼物。JOI 机由一个球,NN 条光带和 MM 个按钮组成。光带从 11NN 编号。当 Bitaro 打开开关时,光带 ii (1iN)(1\le i\le N) 会发出颜色 CiC_i 的光(蓝光 (B) 或红光 (R))。按钮从 11MM 编号。如果 Bitaro 按下按钮 jj (1jM)(1\le j\le M),将发生如下事情。

  1. 把球放置在光带 AjA_j 上。
  2. 光带 AjA_j 变成红色(不管它原来是什么颜色)
  3. 进行如下操作,直到球被移除:
    • pp 为球目前所在的光带编号。
    • 如果光带 pp 是蓝色:
      • 光带 pp 变为红色。
      • 在此之后,如果 p=1p=1,这个球就被移除。否则,球移向光带 p1p-1
    • 如果光带 pp 是红色:
      • 光带 pp 变为蓝色。
      • 在此之后,如果 p=Np=N,这个球就被移除。否则,球移向光带 p+1p+1

Bitaro 对 JOI 机十分感兴趣。他计划进行 QQ 次实验。在第 kk (1kQ)(1\le k\le Q) 次实验中,在 Bitaro 开启电源后,他将按 Lk,Lk+1,RkL_k,L_k+1,\ldots R_k 的顺序按下这些开关。在 Bitaro 按下一个开关后,他将等到球被移除后再按下下一个开关。

给定 JOI 机和实验的情况,写一个程序计算对于每个实验,当实验结束后红色的光带有多少。

:每次实验之间互相独立。

输入格式

第一行两个整数 N,MN,M

第二行一个长度为 NN 的字符串 CC,字符串中仅包含字符 RB

第三行 MM 个整数 AjA_j

第四行一个整数 QQ

接下来 QQ 行,每行两个整数 Lk,RkL_k,R_k

输出格式

输出 QQ 行,第 kk (1kQ)(1\le k\le Q) 行输出一个整数,表示当第 kk 个实验结束后红色的光带有多少。

样例 1

输入

5 1
RBRRB
4
1
1 1

输出

1

第一个实验按如下进行。

  1. Bitaro 按下按钮 11,然后球被放在光带 44 上。
  2. 光带 44 变红。因为光带 44 本身就是红色的,所以颜色不变。
  3. 在此之后,进行了如下操作:
    • 因为目前光带 44 是红色的,所以光带 44 变蓝,然后球移动到光带 55 上。
    • 因为目前光带 55 是蓝色的,所以光带 55 变红,然后球移动到光带 44 上。
    • 因为目前光带 44 是蓝色的,所以光带 44 变红,然后球移动到光带 33 上。
    • 因为目前光带 33 是红色的,所以光带 33 变蓝,然后球移动到光带 44 上。
    • 因为目前光带 44 是红色的,所以光带 44 变蓝,然后球移动到光带 55 上。
    • 因为目前光带 55 是红色的,所以光带 55 变蓝,然后球被移除。

在实验后,光带 11 是唯一红色的光带。所以输出 11

这组样例满足子任务 1,2,3,6,71,2,3,6,7 的限制。

样例 2

输入

5 3
RBRBR
1 3 4
2
2 3
1 3

输出

5
0

对于第一个实验,在结束后光带 1,2,3,4,51,2,3,4,5 都是红色的,所以输出 55

对于第二个实验,在结束后没有光带是红色的,所以输出 00

这组样例满足子任务 3,6,73,6,7 的限制。

样例 3

输入

10 3
BBRRBRBRRB
2 10 5
1
1 3

输出

2

这组样例满足子任务 1,2,3,6,71,2,3,6,7 的限制。

样例 4

输入

10 10
RRRRRRRRRR
3 1 4 1 5 9 2 6 5 3
5
1 7
2 8
3 9
4 10
1 10

输出

4
8
10
0
9

这组样例满足子任务 3,4,5,6,73,4,5,6,7 的限制。

样例 5

输入

10 10
RRRBBBBBBB
3 1 4 1 5 9 2 6 5 3
5
1 10
2 9
3 8
4 7
5 6

输出

2
6
0
10
7

这组样例满足子任务 3,5,6,73,5,6,7 的限制。

样例 6

输入

30 10
RRRBBRBBBRBBBRBRBRRRRRBBBBRBRR
3 28 2 29 1 30 6 14 7 7
10
1 10
2 3
2 5
2 8
3 3
3 6
4 5
4 7
5 9
10 10

输出

21
15
15
4
17
16
14
20
12
23

这组样例满足子任务 6,76,7 的限制。

数据范围与提示

对于全部数据,满足

  • 3N1.2×1053\le N\le 1.2\times 10^5
  • 1M1.2×1051\le M\le 1.2\times 10^5
  • CiC_i (1iN)(1\le i\le N) 不是 B 就是 R
  • 1AjN1\le A_j\le N (1jM)(1\le j\le M)
  • 1Q1.2×1051\le Q\le 1.2\times 10^5
  • 1LkRkM1\le L_k\le R_k\le M (1kQ)(1\le k\le Q)

详细子任务附加限制及分值如下表。

子任务编号 附加限制 分值
1 N300,M300,Q=1N\le 300,M\le 300,Q=1 33
2 N7000,M7000,Q=1N\le 7\,000,M\le 7\,000,Q=1 1212
3 Q5Q\le 5 1010
4 N=10N=10CiC_i (1iN)(1\le i\le N)R 1111
5 存在一个整数 tt (0tN)(0\le t\le N),使得对于每个 iti\le t 都有 CiC_iR,对于每个 i>ti>t 都有 CiC_iB 2626
6 Aj20A_j\le 20Aj>N20A_j>N-20 (1jM)(1\le j\le M) 1717
7 无附加限制 2121