AT_abc329_c [ABC329C] Count xxx

题目描述

给定一个由小写英文字母组成、长度为 $N$ 的字符串 $S$。 请你求出 $S$ 的所有非空子串中,仅由一种字符组成的子串的数量。注意,对于作为字符串相等的子串,即使它们的取法不同,也**不加区分**。 此外,$S$ 的非空子串指的是,从 $S$ 的开头删除 $0$ 个或多个字符、从末尾删除 $0$ 个或多个字符后得到的、长度至少为 $1$ 的字符串。例如,`ab` 和 `abc` 是 `abc` 的非空子串,但 `ac` 和空字符串不是 `abc` 的非空子串。

输入格式

输入以以下格式从标准输入给出。 > $N$ $S$

输出格式

请输出 $S$ 的所有非空子串中,仅由一种字符组成的子串的数量。

说明/提示

## 限制条件 - $1 \leq N \leq 2 \times 10^5$ - $S$ 是由小写英文字母组成的长度为 $N$ 的字符串 ## 样例解释 1 $S$ 的所有非空子串中,仅由一种字符组成的子串有 `a`、`aa`、`aaa`、`b` 共 $4$ 个。注意,从 $S$ 中取出 `a` 或 `aa` 的方法不止一种,但每种只计数一次。 由 ChatGPT 4.1 翻译