A5382. 字符串相邻统计
编程题
普及-
知识点
题目描述
给定一个只包含小写英文字母的字符串 $s$(下标从 $1$ 开始),以及 $q$ 次询问。每次询问给出一对下标 $(l,r)$($1\le l\le r\le |s|$),需要你统计在子串 $s[l..r]$ 中,相邻且相同的字符对的数量。
更具体地说,统计满足 $l\le i<r$ 且 $s[i]=s[i+1]$ 的下标 $i$ 的个数。若 $l=r$,答案为 $0$。
更具体地说,统计满足 $l\le i<r$ 且 $s[i]=s[i+1]$ 的下标 $i$ 的个数。若 $l=r$,答案为 $0$。
输入格式
- 第一行:字符串 $s$。
- 第二行:整数 $q$ —— 询问次数。
- 接下来 $q$ 行:每行两个整数 $l, r$($1\le l\le r\le |s|$)。
- 第二行:整数 $q$ —— 询问次数。
- 接下来 $q$ 行:每行两个整数 $l, r$($1\le l\le r\le |s|$)。
输出格式
输出共 $q$ 行,每行一个整数,表示对应询问的答案。
输入输出样例
输入 #1
aabbaa 5 1 6 2 5 1 1 3 6 4 4
输出 #1
3 1 0 2 0
说明/提示
- $1 \le |s| \le 10^5$
- $1 \le q \le 10^5$
- 字符串 $s$ 仅含小写英文字母
对于区间 $[1,6]$,字符串为 $a a b b a a$,相邻且相同的位置有 $(1,2)$、$(3,4)$、$(5,6)$,共 $3$ 个。
对于区间 $[2,5]$,为 $a b b a$,相邻相同只有 $(3,4)$,共 $1$ 个。
$[1,1]$ 与 $[4,4]$ 都只有一个字符,答案为 $0$。
$[3,6]$ 为 $b b a a$,相邻相同有 $(3,4)$、$(5,6)$,共 $2$ 个。
- $1 \le q \le 10^5$
- 字符串 $s$ 仅含小写英文字母
对于区间 $[1,6]$,字符串为 $a a b b a a$,相邻且相同的位置有 $(1,2)$、$(3,4)$、$(5,6)$,共 $3$ 个。
对于区间 $[2,5]$,为 $a b b a$,相邻相同只有 $(3,4)$,共 $1$ 个。
$[1,1]$ 与 $[4,4]$ 都只有一个字符,答案为 $0$。
$[3,6]$ 为 $b b a a$,相邻相同有 $(3,4)$、$(5,6)$,共 $2$ 个。