Loj #3055. 「HNOI2019」JOJO
Loj #3055. 「HNOI2019」JOJO JOJO 的奇幻冒险是一部非常火的漫画。漫画中的男主角经常喜欢连续喊很多的「欧拉」或者「木大」。 为了防止字太多挡住漫画内容,现在打算在新的漫画中用 $x$ 欧拉或者 $x$ 木大表示有 $x$ 个欧拉或者木大。 为了简化内容我们现在用字母表示喊出的话。 我们用数字和字母来表示一个串,例如: 2 a 3 b 表示的串就是 aabbb 。 一开始漫画中什么话都没有,接下来你需要依次实现 $n$ 个操作,总共只有 $2$ 种操作: 第一种: 1 x c :在当前漫画中加入 $x$ 个 $c$,表示在当前串末尾加入 $x$ 个 $c$ 字符。保证当前串是空串或者串尾字符不是 $c$; 第二种: 2 x :觉得漫画没画好,将漫画还原到第 $x$ 次操作以后的样子,表示将串复原到第 $x$ 次操作后的样子,如果 $x=0$ 则是将串变成空串。如果当前串是 bbaabbb ,第 $4$ 次操作后串是 bb ,则 2 4 会使 bbaabbb 变成 bb ,保证 $x$ 小于当前操作数。 众所周知空条承太郎十分聪明,现在迪奥已经被打败了,他开始考虑自己的漫画中的一些问题: 对于一个串的每个前缀 $A$,都有一个最长的比它短的前缀 $B$ 与前缀 $A$ 的一个后缀匹配,设这个最长的前缀 $B$ 的长度为 $L$。$L$ 为 $0$ 时意味着