QOJ.ac

QOJ

Time Limit: 4 s Memory Limit: 512 MB Total points: 100
Statistics

Note: The time limit for this problem is 4s, twice the default. The memory limit for this problem is 512MB, twice 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 $s$, let $B(s)$ represent the maximum number of repeated copies of "bessie" one can form by deleting zero or more of the characters from $s$. In the example above, $B($"bqessiyexbesszieb"$) = 2$. Furthermore, given a string $t$, let $A(t)$ represent the sum of $B(s)$ over all contiguous substrings $s$ of $t$.

Farmer John has a string $t$ of length at most $2\cdot 10^5$ consisting only of characters a-z. Please compute $A(t)$, and how $A(t)$ would change after $U$ ($1\le U\le 2\cdot 10^5$) updates, each changing a character of $t$. Updates are cumulative.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line of input contains $t$.

The next line contains $U$, followed by $U$ lines each containing a position $p$ ($1\le p\le N$) and a character $c$ in the range a-z, meaning that the $p$th character of $t$ is changed to $c$.

OUTPUT FORMAT (print output to the terminal / stdout):

Output $U+1$ lines, the total number of bessies that can be made across all substrings of $t$ before any updates and after each update.

SAMPLE INPUT:

bessiebessie
3
3 l
7 s
3 s

SAMPLE OUTPUT:

14
7
1
7

Before any updates, twelve substrings contain exactly 1 "bessie" and 1 string contains exactly 2 "bessie"s, so the total number of bessies is $12\cdot 1 + 1 \cdot 2 = 14$.

After one update, $t$ is "belsiebessie." Seven substrings contain exactly one "bessie."

After two updates, $t$ is "belsiesessie." Only the entire string contains "bessie."

SCORING:

  • Input 2: $|t|, U\le 300$
  • Inputs 3-5: $U\le 10$
  • Inputs 6-13: $|t|, U\le 10^5$
  • Inputs 14-21: No additional constraints.

Problem credits: Brandon Wang and Benjamin Qi