AT_pakencamp_2025_day3_o Giraffe? Zebra?
题目描述
给定一个整数 $G$ 和一个仅由 `0` 和 `1` 组成的字符串 $S$。
对于一个非空仅由 `0` 和 `1` 组成的字符串,定义如下:
- **长颈鹿字符串**:长度不少于 $G$ 的字符串。
- **斑马字符串**:不存在相邻字符相同的部分(即每个相邻字符都不同,长度为 $1$ 的字符串也是斑马字符串)。
- **霍加皮字符串**:既不是长颈鹿字符串,也不是斑马字符串的字符串。
请处理 $Q$ 个查询。对于第 $i$ 个查询,给定三个整数 $L_i,R_i,T_i$,请根据下述规则回答:
- 从 $S$ 的第 $L_i$ 个字符到第 $R_i$ 个字符(含),取出该区间的字符串,统计其所有子串中,
- 当 $T_i=1$ 时,输出其中“长颈鹿字符串”的数量。
- 当 $T_i=2$ 时,输出其中“斑马字符串”的数量。
- 当 $T_i=3$ 时,输出其中“霍加皮字符串”的数量。
注意:即使字符串内容相同,若起止位置不同,也视为不同的子串。
输入格式
输入按以下格式从标准输入读入:
> $G$ $S$ $Q$
> $L_1$ $R_1$ $T_1$
> $L_2$ $R_2$ $T_2$
> $\vdots$
> $L_Q$ $R_Q$ $T_Q$
输出格式
输出 $Q$ 行。
第 $i$ 行输出第 $i$ 个查询的答案。
说明/提示
### Universal Cup 参赛者注意
由于本题会在 Universal Cup 收录时被删除,如在 Universal Cup 中使用 AtCoder 的结果,建议优先完成本题之外的题目。
### 子任务
1. ($10$ 分) $T_i=1$
2. ($50$ 分) $T_i=2$
3. ($40$ 分) 没有额外限制。
### 约束条件
- $1\leq G\leq |S|$
- $1\leq |S| \leq 2\times 10^5$
- $S$ 只包含 `0` 和 `1`
- $1\leq Q\leq 2\times 10^5$
- $1\leq L_i\leq R_i\leq N$
- $1\leq T_i\leq 3$
- $G,Q,L_i,R_i,T_i$ 均为整数
由 ChatGPT 5 翻译