#4801. [USACO23OPEN] Pareidolia P

    ID: 4801 传统题 4000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>省选/NOI-动态规划 DP线段树矩阵加速USACO2023

[USACO23OPEN] Pareidolia P

题目描述

Pareidolia 是一种现象,指的是人们倾向于在并不真正存在的地方看到熟悉的图案——例如在云中看到一张脸。可以想象,由于农夫 John 经常与奶牛接触,他常常在日常物品中看到与奶牛相关的图案。例如,如果他看到字符串 bqessiyexbesszieb,农夫 John 的眼睛会忽略其中的一些字母,而他看到的只是 bessiebessie。

给定一个字符串 ss,令 B(s)B(s) 表示通过删除 ss 中的零个或多个字符后,能够形成的 bessie 的最大重复次数。在上面的例子中,B(bqessiyexbesszieb)=2B(bqessiyexbesszieb)=2。此外,给定一个字符串 tt,令 A(t)A(t) 表示所有连续子串 ss 的 B(s)B(s) 之和。

农夫 John 有一个长度不超过 2×1052 \times 10^5 的字符串 tt,且仅由字符 a-z 组成。请计算 A(t)A(t),以及在 U(1≤U≤2×105)U (1 \le U \le 2 \times 10^5) 次更新后 A(t)A(t) 的变化情况,每次更新会修改 tt 中的一个字符。更新是累积的。

输入格式

第一行输入包含 tt。

接下来的一行包含 UU,随后是 UU 行,每行包含一个位置 pp (1≤p≤N)(1 \le p \le N) 和一个字符 cc(范围为 a-z),表示将 tt 的第 pp 个字符修改为 cc。

输出格式

输出 U+1U+1 行,分别表示在没有任何更新之前以及每次更新后,tt 的所有子串中能够形成的 bessie 的总数。

输入输出样例 #1

输入 #1

bessiebessie
3
3 l
7 s
3 s

输出 #1

14
7
1
7

说明/提示

在没有任何更新之前,有 12 个子串恰好包含 11 个 bessie,有 11 个子串恰好包含 22 个 bessie,因此 bessie 的总数为 12⋅1+1⋅2=1412 \cdot 1 + 1 \cdot 2 = 14。

第一次更新后,tt 变为 belsiebessie。有 7 个子串恰好包含一个 bessie。

第二次更新后,tt 变为 belsiesessie。只有整个字符串包含 bessie。

输入 22:∣t∣,U≤300|t|, U \le 300;

输入 3−53-5:U≤10U \le 10;

输入 6−136-13:∣t∣,U≤105|t|, U \le 10^5;

输入 14−2114-21:没有额外限制。