#1995. 连续相同的字符

连续相同的字符

题目描述

给定长度为NN的纯小写字母字符串SS,处理QQ次区间询问。每次询问给定区间[li,ri][l_i, r_i],要求统计该子串中存在多少对相邻且相同的字符。形式化定义为:求满足sp=sp+1s_p = s_{p+1}lip<ril_i \leq p < r_i的整数pp的数量。

输入格式

第一行包含两个整数NNQQ,分别表示字符串长度和询问次数
第二行输入字符串SS
接下来QQ行,每行两个整数lil_irir_i表示询问区间

输出格式

输出QQ行,每行对应一个询问的答案

样例

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

说明/提示

样例 1 解释

对于第一个查询,s3s4s9=ssissips_3s_4\cdots s_9=ssissip,有两个地方连续出现两次相同的小写英文字母:s3s4=sss_3s_4=sss6s7=sss_6s_7=ss

对于第二个查询,s4s5s10=sissipps_4s_5\cdots s_{10}=sissipp,有两个地方连续出现两次相同的小写英文字母:s9s10=pps_9s_{10}=pps6s7=sss_6s_7=ss

第三个查询 s4s5s6=siss_4s_5s_6=sis,连续出现两次相同小写英文字母的地方为零。

第四个查询 s7=ss_7=s,连续出现两次相同小写英文字母的地方为零。

样例 2 解释

s1s2s5=aaaaas_1s_2\cdots s_5=aaaaa。有 44 个地方连续出现两次相同的小写字母:s1s2=aa,s2s3=aa,s3s4=aa,s4s5=aas_1s_2=aa,s_2s_3=aa,s_3s_4=aa,s_4s_5=aa

数据范围

对于 70%70\% 的数据,1N,Q501\le N,Q\le 50

对于 100%100\% 的数据,1N,Q3×105,S=N1\le N,Q\le 3\times 10^5,|S|=N,且 SS 仅由小写字母组成,并且保证 1liriN1\le l_i \le r_i \le N