题目 30228

双端队列回文计数

查看题解 ↗GitHub ↗如何评测
题号
30228
时间限制
10000 ms
内存限制
1024 MB
标签
字符串
来源
Library Checker (yosupo06) - palindromes_in_deque

【题目描述】

有一个初始为空的字符串 ss。依次处理 QQ 个查询。

  • 0 $c$:在字符串 ss 的开头添加字符 cc。
  • 1 $c$:在字符串 ss 的末尾添加字符 cc。
  • 2:删除字符串 ss 开头的字符。
  • 3:删除字符串 ss 末尾的字符。

每处理完一个查询后,依次输出以下 33 个参数。

  • ss 的不同非空回文子串个数
  • ss 的最长回文前缀长度
  • ss 的最长回文后缀长度

若 ss 为空串,则改为输出 0 0 0。

【输入】

文本
$Q$
$\textrm{Query}_0$
$\textrm{Query}_1$
$\vdots$
$\textrm{Query}_{Q - 1}$

【输出】

每处理完一个查询后输出一行,依次为 ss 的不同非空回文子串个数、ss 的最长回文前缀长度、ss 的最长回文后缀长度。若 ss 为空串,则输出 0 0 0。

【输入样例】

文本
9
1 a
1 b
1 c
1 b
1 c
1 b
1 a
3
1 c

【输出样例】

文本
1 1 1
2 1 1
3 1 1
4 1 3
5 1 3
6 1 5
7 7 7
6 1 5
7 1 5

【输入样例2】

文本
12
0 o
0 x
0 o
1 o
1 x
1 o
2
2
2
3
3
3

【输出样例2】

文本
1 1 1
2 1 1
3 3 3
4 3 2
5 3 4
6 6 6
5 4 3
4 2 3
3 3 3
2 1 1
1 1 1
0 0 0

【数据范围】

  • 1≤Q≤5000001 \leq Q \leq 500000
  • cc 为小写英文字母。
  • 查询 22 或查询 33 到来时,字符串 ss 不为空。

【来源】

Library Checker(yosupo06) palindromes_in_deque

数据下载

题目 30228 的公开数据

正在读取文件列表…

常用命令

题目 30228 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。