#4912. Consecutive

0

Consecutive

Consecutive

题目描述

给定长度为 NN 的字符串 S=S1S2…SNS = S_1S_2\ldots S_N,由小写英文字母组成。 另外,给出关于字符串 SS 的 QQ 个查询。 对于 i=1,2,…,Qi = 1, 2, \ldots, Q,第 ii 个查询由两个整数 li,ril_i, r_i 表示,询问以下问题。

在字符串 $S$ 的子串 $S_{l_i}S_{l_i+1}\ldots S_{r_i}$ 中(从第 $l_i$ 个字符到第 $r_i$ 个字符),有多少个位置存在相同的小写英文字母连续出现两次? 换句话说,有多少个整数 $p$ 满足 $l_i \leq p \leq r_i-1$ 且 $S_p = S_{p+1}$?
对于每个 $Q$ 个查询,输出答案。

输入格式

输入按照标准输入给出,格式如下: NN QQ SS l1l_1 r1r_1 l2l_2 r2r_2 ⋮\vdots lQl_Q rQr_Q

输出格式

输出 QQ 行。 对于 i=1,2,…,Qi = 1, 2, \ldots, Q,第 ii 行应当包含第 ii 个查询的答案。

11 4
mississippi
3 9
4 10
4 6
7 7
2
2
0
0
5 1
aaaaa
1 5
4

提示

NN 和 QQ 是整数。 1≤N,Q≤3×1051 \leq N, Q \leq 3 \times 10^5 SS 是长度为 NN 的由小写英文字母组成的字符串。 lil_i 和 rir_i 是整数。 1≤li≤ri≤N1 \leq l_i \leq r_i \leq N对四个查询的答案如下。

对于第一个查询,S3S4…S9=S_3S_4\ldots S_9 = ssissipssissip 有两个位置存在相同的小写英文字母连续出现两次:S3S4=S_3S_4 = ssss 和 S6S7=S_6S_7 = ssss。 对于第二个查询,S4S5…S10=S_4S_5\ldots S_{10} = sissippsissipp 有两个位置存在相同的小写英文字母连续出现两次:S6S7=S_6S_7 = ssss 和 S9S10=S_9S_{10} = pppp。 对于第三个查询,S4S5S6=S_4S_5S_6 = sissis 有零个位置存在相同的小写英文字母连续出现两次。 对于第四个查询,S7=S_7 = ss 有零个位置存在相同的小写英文字母连续出现两次。
S1S2…S5=S_1S_2\ldots S_5 = aaaaaaaaaa 有四个位置存在相同的小写英文字母连续出现两次: S1S2=S_1S_2 = aaaa, S2S3=S_2S_3 = aaaa, S3S4=S_3S_4 = aaaa, 和 S4S5=S_4S_5 = aaaa.

标签: AtCoder|abc328C

来源

AtCoder|abc328C