#3174. 日记和编辑器

日记和编辑器

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

题目背景

日记非常喜欢用记事本写代码。但是,由于记事本的性能优化很差,她的电脑经常卡死。所以她希望实现一个负载计算器来分析电脑为什么会卡死。

题目描述

日记使用的编程语言是 Neko Lang,这是一种只使用小写字母的编程语言。语言中有一个模式串 P=P1PPP = P_1 \dots P_{|P|}。设她当前的字符串为 S=S1SSS = S_1 \dots S_{|S|},她只进行五种操作:

操作的参数中,除 s,cs, c 外均为非负整数,而 ss 为只包含小写字母的字符串,cc 为小写字母。

  • Insert p s 在第 pp 个字符后插入字符串 ss,使 SS1Sps1ssSp+1SSS \gets S_1 \dots S_p s_1 \dots s_{|s|} S_{p+1} \dots S_{|S|}。若 p=0p=0 则为在字符串开头插入。
  • Delete l r 删除第 ll 到第 rr 个字符,使 SS1Sl1Sr+1SSS \gets S_1 \dots S_{l-1} S_{r+1} \dots S_{|S|}
  • Replace l r s 将第 ll 到第 rr 个字符替换为字符串 ss,使 SS1Sl1s1ssSr+1SSS \gets S_1 \dots S_{l-1} s_1 \dots s_{|s|} S_{r+1} \dots S_{|S|}
  • Count l r c 输出第 ll 到第 rr 个字符间字母 cc 的个数,即 i=lr[Si=c]\sum\limits_{i=l}^r [S_i = c]
  • Search l r 输出第 ll 到第 rr 个字符间模式串 PP 的出现次数,即 i=lrP+1minj=1P[Si+j1=Pj]\sum\limits_{i=l}^{r-|P|+1} \min\limits_{j=1}^{|P|} [S_{i+j-1} = P_j]

日记认定,是她使用了太多次查询操作,使得电脑卡死了。所以,你需要帮助日记计算出两种查询操作的结果,这样日记就可以确认自己的想法了。

输入格式

11 行,11 个正整数 nn11 个字符串 PP,其中 nn 为操作次数。

接下来 nn 行,每行按上述格式描述一次操作。

输出格式

每次查询操作 11 行,为对应操作的结果。

数据范围

本题设置 25 个测试点,每个测试点 4 分。同时,记五种操作的次数依次为 a1a5a_1 \dots a_5,每个测试点满足一些限制,见下:

测试点编号 nn \leq aia_i
11 1010 a5=0a_5=0
22
33 100100 a2=a3=a5=0a_2=a_3=a_5=0
44 a5=0a_5=0
55
66 10310^3 a2=a3=a5=0a_2=a_3=a_5=0
77 a3=a5=0a_3=a_5=0
88 a5=0a_5=0
99
1010
1111 10410^4 a2=a3=a5=0a_2=a_3=a_5=0
1212 a3=a5=0a_3=a_5=0
1313 a5=0a_5=0
1414
1515
1616 10510^5 a2=a3=a5=0a_2=a_3=a_5=0
1717 a3=a5=0a_3=a_5=0
1818
1919 a5=0a_5=0
2020
2121 a510a_5 \leq 10
2222 a5100a_5 \leq 100
2323
2424
2525

对全部数据,保证 1n1051 \leq n \leq 10^5s105|s| \leq 10^5s10n\sum |s| \leq 10nP20|P| \leq 20

输入样例 1

8 abababc
Insert 0 abababababababab
Search 1 16
Count 1 16 a
Replace 7 8 cabc
Search 1 18
Count 1 18 c
Insert 7 abab
Search 1 14

输出样例 1

0
8
1
2
2

输入样例 2

2 ababab
Insert 0 abababababababab
Search 1 16

输出样例 2

6

样例解释

样例解释 1

每个操作结束后,字符串依次为:

abababababababab
abababababababab
abababababababab
abababcabcabababab
abababcabcabababab
abababcabcabababab
abababcabababcabababab
abababcabababcabababab

样例解释 2

注意,两个匹配的范围可以重叠。如果你不理解这句话的含义,请仔细阅读题目描述中匹配的形式化定义。

暑假集训第一次提高组模拟

未参加
状态
已结束
规则
IOI
题目
4
开始于
2024-7-16 14:30
结束于
2024-7-18 6:30
持续时间
40 小时
主持人
参赛人数
34