A5382 | 字符串相邻统计
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
给定一个只包含小写英文字母的字符串 $s$(下标从 $1$ 开始),以及 $q$ 次询问。每次询问给出一对下标 $(l,r)$($1\le l\le r\le |s|$),需要你统计在子串 $s[l..r]$ 中,相邻且相同的字符对的数量。
更具体地说,统计满足 $l\le ir$ 且 $s[i]=s[i+1]$ 的下标 $i$ 的个数。若 $l=r$,答案为 $0$。
更具体地说,统计满足 $l\le ir$ 且 $s[i]=s[i+1]$ 的下标 $i$ 的个数。若 $l=r$,答案为 $0$。
输入格式
- 第一行:字符串 $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$ 仅含小写英文字母
对于区间 $[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$ 个。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?