#P9188. [USACO23OPEN] Pareidolia S

[USACO23OPEN] Pareidolia S

题目背景

Note: The time limit for this problem is 4s, 2x the default.

Pareidolia is the phenomenon where your eyes tend to see familiar patterns in images where none really exist -- for example seeing a face in a cloud. As you might imagine, with Farmer John's constant proximity to cows, he often sees cow-related patterns in everyday objects. For example, if he looks at the string "bqessiyexbesszieb", Farmer John's eyes ignore some of the letters and all he sees is "bessiebessie".

题目描述

Given a string ss, let B(s)B(s) represent the maximum number of repeated copies of "bessie" one can form by deleting zero or more of the characters from ss. In the example above, B(“bqessiyexbesszieb")=2B(\text{``bqessiyexbesszieb"}) = 2.

Computing B(s)B(s) is an interesting challenge, but Farmer John is interested in solving a challenge that is even more interesting: Given a string tt of length at most 31053\cdot 10^5 consisting only of characters a-z, compute the sum of B(s)B(s) over all contiguous substrings ss of tt.

输入格式

The input consists of a nonempty string of length at most 31053\cdot 10^5 whose characters are all lowercase English letters.

输出格式

Output a single number, the total number of bessies that can be made across all substrings of the input string.

题目大意

Farmer John有的时候看东西会忽略一些字母,如把 bqessiyexbesszieb 看成 bessiebessie。定义 B(s)B(s) 表示把 ss 中的若干个字母删去后,形成尽量多个 bessie 相连的形式 (bessiebessiebessieb...),返回 bessie 的最大数量。如 B("bqessiyexbesszieb")=2B(\text{"bqessiyexbesszieb"})=2。对字符串 ss 计算 B(s)B(s) 是一个有趣的挑战,但FJ想到了一个更有趣的挑战:对 ss 的所有子串进行计算B函数,并求和。ss 的长度不超过 3×1053\times 10^5

bessiebessie

14

abcdefghssijebessie

28

提示

For the first sample, twelve substrings contain exactly 11 "bessie", and 11 string contains exactly 22 "bessie"s, so the total is 121+12=1412\cdot 1+1\cdot 2=14.

  • Inputs 3-5: The string has length at most 50005000.
  • Inputs 6-12: No additional constraints.