F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ LoginRegister 捐赠本站
Notice:1:五月份月赛定于5.27日12:30--17:30,鸣谢Claris主持!欢迎大家来玩! 2:关于OJ的注册可看https://www.lydsy.com/JudgeOnline/wttl/thread.php?tid=5671
Problem 5084. -- hashit

5084: hashit

Time Limit: 20 Sec  Memory Limit: 256 MB
Submit: 177  Solved: 70
[Submit][Status][Discuss]

Description

你有一个字符串S,一开始为空串,要求支持两种操作
在S后面加入字母C
删除S最后一个字母
问每次操作后S有多少个两两不同的连续子串

Input

一行一个字符串Q,表示对S的操作
如果第i个字母是小写字母c,表示第一种加字母c的操作
如果为-表示删除操作,保证所有删除操作前S都非空
|Q|<=10^5

Output

输出|Q|行,第i行表示i个操作之后S内有多少个不同子串

Sample Input

aba-caba

Sample Output

1
3
5
3
6
9
12
17

HINT

Source

By clj

[Submit][Status][Discuss]

HOME Back