AT_abc295_d [ABC295D] Three Days Ago
题目描述
`20230322` 经过重新排列后可以变为 `02320232`,这是将 `0232` 重复了 $2$ 次。
像这样,只包含数字的字符串,如果通过适当的重新排列(也可以不变),能够变成某个字符串重复 $2$ 次的形式,我们称其为**“开心串”**。
给定一个只包含数字的字符串 $S$,请你求出满足以下所有条件的整数对 $(l, r)$ 的个数。
- $1 \leq l \leq r \leq |S|$($|S|$ 表示 $S$ 的长度)
- $S$ 的第 $l$ 个字符到第 $r$ 个字符组成的(连续的)子串是一个“开心串”。
输入格式
输入为以下格式,从标准输入读取。
> $S$
输出格式
请输出满足条件的整数对的个数。
说明/提示
### 限制条件
- $S$ 是一个只包含数字的字符串,长度不少于 $1$,不超过 $5 \times 10^5$。
### 样例解释 1
$S = $ `20230322`。满足条件的整数对 $(l, r)$ 有 $(1,6), (1,8), (2,7), (7,8)$,共 $4$ 个。
### 样例解释 2
$S$ 的开头也可能是 `0`。
由 ChatGPT 4.1 翻译