USACO 2023 US Open Contest, Platinum

Problem 1. Pareidolia


Contest has ended.

Log in to allow submissions in analysis mode


**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

Contest has ended. No further submissions allowed.