题目名称 2223. [SDOI 2016 Round1] 生成魔咒
输入输出 menci_incantation.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMenci 于2016-04-11加入
开放分组 全部用户
提交状态
分类标签
后缀自动机 后缀数组
分享题解
通过:140, 提交:263, 通过率:53.23%
Gravatar河北交通广播992大师来了 100 0.122 s 2.71 MiB C++
GravatarAntiLeaf 100 0.125 s 0.00 MiB C++
Gravatarwill 100 0.165 s 7.16 MiB C++
GravatarAAAAAAAAAA 100 0.176 s 3.48 MiB C++
Gravatarwill 100 0.182 s 7.16 MiB C++
Gravatarrevenge 100 0.200 s 4.51 MiB C++
Gravatar河北交通广播992大师来了 100 0.206 s 2.74 MiB C++
GravatarGo灬Fire 100 0.211 s 2.80 MiB C++
GravatarHellc 100 0.212 s 6.48 MiB C++
Gravatarwzhqwq 100 0.227 s 2.10 MiB C++
关于 生成魔咒 的近10条评论(全部评论)
第一道后缀自动机
GravatarAAAAAAAAAA
2017-05-21 20:48 20楼
回复 @Menci :
我也写的SA...
Gravatarwill
2017-04-11 18:05 19楼
Gravatar可以的.
2017-03-06 12:17 18楼
回复 @Hzoi_可以的. :
你在自夸吗?
GravatarGo灬Fire
2017-03-06 12:17 17楼
没写long long 让我WA一发
GravatarYGOI_真神名曰驴蛋蛋
2017-02-28 17:15 16楼
SA求出height数组,ST去维护区间极值,Set去记录前驱后继
Gravatar甘罗
2017-02-17 19:30 15楼
不会用set的我只好写了棵01Trie代替平衡树,结果忘记把数组开大了。。
话说写SA+平衡树的好像真没几个人啊。
Gravatar_Itachi
2017-02-16 15:12 14楼
SAM模版题
GravatarCydiater
2017-02-01 21:17 13楼
好啦别管那个zz的后缀平衡树啦,补上此题的 SAM 做法,SAM 果然超好写~
GravatarHellc
2016-12-30 14:39 12楼
SAM大法好,真是比SA简单多了
没开longlong致使WA一次,这个可以当SAM练手题
GravatarFoolMike
2016-11-05 10:11 11楼

2223. [SDOI 2016 Round1] 生成魔咒

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

【题目描述】


魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示。例如可以将魔咒字符 \( 1 \)、\( 2 \) 拼凑起来形成一个魔咒串 \( [1, 2] \)。
一个魔咒串 \( S \) 的非空字串被称为魔咒串 \( S \) 的生成魔咒。
例如 \( S = [1, 2, 1] \) 时,它的生成魔咒有 \( [1] \)、\( [2] \)、\( [1, 2] \)、\( [2, 1] \)、\( [1, 2, 1] \) 五种。\( S = [1, 1, 1] \) 时,它的生成魔咒有 \( [1] \)、\( [1, 1] \)、\( [1, 1, 1] \) 三种。
最初 \( S \) 为空串。共进行 \( n \) 次操作,每次操作是在 \( S \) 的结尾加入一个魔咒字符。每次操作后都需要求出,当前的魔咒串 \( S \) 共有多少种生成魔咒。


【输入格式】


第一行一个整数 \( n \)。
第二行 \( n \) 个数,第 \( i \) 个数表示第 \( i \) 次操作加入的魔咒字符。


【输出格式】


输出 \( n \) 行,每行一个数。第 \( i \) 行的数表示第 \( i \) 次操作后 \( S \) 的生成魔咒数量。


【样例输入】


7

1 2 3 3 3 1 2


【样例输出】


1

3

6

9

12

17

22


【提示】


对于 \( 10\% \) 的数据,\( 1 \leq n \leq 10 \)。
对于 \( 30\% \) 的数据,\( 1 \leq n \leq 100 \)。
对于 \( 60\% \) 的数据,\( 1 \leq n \leq 1000 \)。
对于 \( 100\% \) 的数据,\( 1 \leq n \leq 100000 \)。

用来表示魔咒字符的数字 \( x \) 满足 \( 1 \leq x \leq 10 ^ 9 \)。


【来源】

SDOI2016 Round1 Day2