#L0252. 平衡子串计数

平衡子串计数

题目描述

给定一个长度为 nn 的字符串 ss,保证 ss 仅包含小写字母,求 ss 的非空子串中平衡串的个数。

> 定义:非空子串
>
> 用 sis_i 表示 ss 中的第 ii 个字符(1in1 \leq i \leq n)。任取两个整数 i,ji, j1ijn1 \leq i \leq j \leq n),将 si,si+1,,sjs_i, s_{i + 1}, \cdots, s_{j} 截取出来按原序排列作为一个新的字符串,则这个字符串叫做 ss 的非空子串。
例如,当 s=abcdes = \texttt{abcde} 时,$\texttt{ab}, \texttt{bcde}, \texttt{c}, \texttt{abcde}$ 都是 ss 的非空子串,而 $\texttt{acd}, \texttt{f}, \texttt{ngioasd}, \texttt{" "}$ 都不是 ss 的非空子串。

> 定义:平衡串
>
> 若字符串 aa 中出现次数最多的字符出现的次数不超过 a2\lfloor \frac{|a|}{2} \rfloor,则称字符串 aa 为一个平衡串。其中 x\lfloor x \rfloor 代表 x\leq x 的最大整数,a|a| 代表 aa 的长度。

输入格式

一行一个字符串,表示 ss

输出格式

一行一个整数,表示答案。

样例

aabb
2
fqmdfnc
21

提示

样例 1 解释

其中 ab,aabb\texttt{ab,aabb}平衡非空子串。

数据范围

对于 100%100\% 的数据,1n5001 \le n \le 500,字符串由小写字母组成。

测试点编号$n$特殊性质
$1$$= 2$
$2, 3$$\leq 10$
$4$$\leq 500$所有字符相同
$5$$= 26$所有字符不同
$6, 7$$\leq 500$字符串内仅可能包含 $\texttt{a,b}$ 两种字母
$8 \sim 10$$\leq 500$
难度 普及-
通过率
尝试 0
已通过 0
ID
980
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者