#L9192. [USACO23OPEN] Pareidolia P

    ID: 1162 传统题 文件IO:prob1 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>动态规划 DP线段树矩阵加速USACO2023

[USACO23OPEN] Pareidolia P

P9192 [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) 表示所有连续子串 ssB(s)B(s) 之和。

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

输入格式

第一行输入包含 tt

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

输出格式

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

输入输出样例 1

bessiebessie
3
3 l
7 s
3 s
14
7
1
7

说明/提示

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

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

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

输入 22t,U300|t|, U \le 300

输入 353-5U10U \le 10

输入 6136-13t,U105|t|, U \le 10^5

输入 142114-21:没有额外限制。