题目名称 2655. Mike的梦境
输入输出 classmate_easy.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 GravatarFoolMike 于2017-04-10加入
开放分组 全部用户
提交状态
分类标签
回文自动机
分享题解
通过:2, 提交:4, 通过率:50%
Gravatar再见 100 2.173 s 224.24 MiB C++
GravatarFoolMike 100 2.177 s 218.14 MiB C++
GravatarFoolMike 25 2.162 s 109.22 MiB C++
GravatarBIRD 0 15.700 s 111.32 MiB C++
本题关联比赛
Mike梦境膜你赛
关于 Mike的梦境 的近10条评论(全部评论)
数据范围做了修改,请同学们注意。
GravatarFoolMike
2017-04-15 13:37 1楼

2655. Mike的梦境

★★★   输入文件:classmate_easy.in   输出文件:classmate_easy.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

Mike第一次坐在文科15班的教室中,见到了许多新同学。Mike记忆力极差,为了记住同学们的名字,Mike准备他们的名字抄下来。Mike又太懒,于是他把这项工作交给了你。

Mike一共有3种命令:第一种,在名单里加入一个同学的名字S(均为小写字母);第二种,Mike看错了第i个命令加入的同学的名字,在他的名字后面插入字符串T(可能进行多次插入).

为了检验你做的是否正确,Mike要求你立即回答出每次操作后,名单中本质不同的回文子串数量。

【输入格式】

第一行一个整数n,表示Mike一共有n个命令。

接下来n行,每行开始有一个整数tp,表示是哪一种命令。

tp=1时,接下来是一个字符串S,表示这位同学的名字。

tp=2时,接下来是一个整数i和一个字符串T,表示在第i次加入的名字后面插入T。(可能多次插入,保证这个同学的名字在当前的名单中)

【输出格式】

n行,每行一个整数,表示每次操作后本质不同的回文子串个数。

【样例输入】

10
1 miike
1 mmike
1 mikke
2 2 ekim
1 jhzejkhzhe
2 2 ekim
2 3 ekimm
1 foolmike
2 2 mike
1 mikeisfool

【样例输出】

5
6
7
11
15
15
15
19
22
23

【提示】

数据范围为n<=200000,L<=2000000

对于20%的数据,保证n<=2000

对于另外20%的数据,保证不含2操作

【来源】

这实际上是Mike做的一个梦……Mike活在理科1班