CF1168B Good Triple
题目描述
Toad Rash 有一个二进制字符串 $s$。二进制字符串只包含 $0$ 和 $1$。
设 $n$ 为 $s$ 的长度。
Rash 需要找出满足以下条件的整数对 $(l, r)$ 的数量:$1 \leq l \leq r \leq n$,并且存在至少一组整数 $x, k$,使得 $1 \leq x, k \leq n$,$l \leq x < x + 2k \leq r$,且 $s_x = s_{x+k} = s_{x+2k}$。
请你帮 Rash 计算满足条件的 $(l, r)$ 对的数量。
输入格式
第一行输入字符串 $s$($1 \leq |s| \leq 300\,000$),只包含 $0$ 和 $1$。
输出格式
输出一个整数,表示满足条件的整数对 $(l, r)$ 的数量。即有多少对 $1 \leq l \leq r \leq n$,存在至少一组 $x, k$,使得 $1 \leq x, k \leq n$,$l \leq x < x + 2k \leq r$,且 $s_x = s_{x+k} = s_{x+2k}$。
说明/提示
在第一个样例中,需要计数的 $(l, r)$ 对有三组:$(1, 6)$、$(2, 6)$ 和 $(1, 5)$。
在第二个样例中,原始字符串不存在满足条件的 $x, k$,因此答案为 $0$。
由 ChatGPT 4.1 翻译