CF914F.Substrings in a String

NOI/NOI+/CTSC

通过率:0%

时间限制:6.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Given a string s, process q queries, each having one of the following forms:

  • 1 i c — Change the i-th character in the string to c.
  • 2 l r y — Consider the substring of s starting at position l and ending at position r. Output the number of times y occurs as a substring in it.

给定一个字符串 ss,处理 qq 个查询,每个查询为以下两种形式之一:

  • 1 i c — 将字符串中第 ii 个字符修改为 cc。
  • 2 l r y — 考虑字符串 ss 中从位置 ll 开始、到位置 rr 结束的子串。输出 yy 作为该子串的子串出现的次数。

输入格式

The first line of the input contains the string s (1 ≤ |s| ≤ 105) of lowercase English letters.

The second line contains an integer q (1 ≤ q ≤ 105) — the number of queries to process.

The next q lines describe the queries and may have one of the following forms:

  • 1 i c (1 ≤ i ≤ |s|)
  • 2 l r y (1 ≤ l ≤ r ≤ |s|)

c is a lowercase English letter and y is a non-empty string consisting of only lowercase English letters.

The sum of |y| over all queries of second type is at most 105.

It is guaranteed that there is at least one query of second type.

All strings are 1-indexed.

|s| is the length of the string s.

输入的第一行包含一个字符串 ss(1 ≤ ∣s∣ ≤ 1051 \le |s| \le 10^5),由小写英文字母组成。

第二行包含一个整数 qq(1 ≤ q ≤ 1051 \le q \le 10^5)——表示需要处理的查询数量。

接下来的 qq 行描述各个查询,每行查询为以下两种形式之一:

  • 1 i c(其中 1 ≤ i ≤ ∣s∣1 \le i \le |s|)
  • 2 l r y(其中 1 ≤ l ≤ r ≤ ∣s∣1 \le l \le r \le |s|)

其中 cc 是一个小写英文字母,yy 是一个非空字符串,仅由小写英文字母组成。

所有第二类查询中 ∣y∣|y| 的总和不超过 10510^5。

保证至少存在一个第二类查询。

所有字符串均采用 1-索引。

∣s∣|s| 表示字符串 ss 的长度。

输出格式

For each query of type 2, output the required answer in a separate line.

对于每个类型为 2 的查询,在单独一行中输出所需的答案。

输入输出样例

  • 输入#1

    ababababa
    3
    2 1 7 aba
    1 5 c
    2 1 7 aba

    输出#1

    3
    1
  • 输入#2

    abcdcbc
    5
    2 1 7 bc
    1 4 b
    2 4 7 bc
    1 2 a
    2 1 4 aa

    输出#2

    2
    2
    1

说明/提示

Consider the first sample case. Initially, the string aba occurs 3 times in the range [1, 7]. Note that two occurrences may overlap.

After the update, the string becomes ababcbaba and now aba occurs only once in the range [1, 7].

考虑第一个样例。初始时,字符串 aba 在区间 [1, 7][1, 7] 内出现了 3 次。注意:两次出现可以重叠。

更新后,字符串变为 ababcbaba,此时 aba 在区间 [1, 7][1, 7] 内仅出现 1 次。

输入解题思路,AI测评打分。不知道怎么写?

首页