题目名称 | 3845. [雅礼集训 2017 Day1] 字符串 |
---|---|
输入输出 | sumstring.in/out |
难度等级 | ★★★☆ |
时间限制 | 3000 ms (3 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | yuan 于2023-03-10加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:2, 通过率:100% | ||||
yuan | 100 | 0.803 s | 42.46 MiB | C++ |
yuan | 100 | 0.978 s | 61.86 MiB | C++ |
本题关联比赛 | |||
4043级2023省选练习赛4 |
关于 字符串 的近10条评论(全部评论) |
---|
令 $s$ 与 $w$ 为两字符串,下标从 $0$ 开始,定义:
$w[l, r]$ 表示字符串 $w$ 在区间 $[l, r]$ 中的子串;
$w$ 在 $s$ 中出现的频率定义为 $w$ 在 $s$ 中出现的次数;
$f(s, w, l, r)$ 表示 $w[l, r]$ 在 $s$ 中出现的频率。
比如 $f(ababa, aba, 0, 2) = 2$ 。
现在给定串 $s$ , $m$ 个区间 $[l, r]$ 和长度 $k$ ,你要回答 $q$ 个询问,每个询问给你一个长度为 $k$ 的字符串 $w$ 和两个整数 $a, b$ ,求:
$\sum\limits_{i = a} ^ b f(s, w, l_i, r_i)$
第一行四个整数 $n, m, q, k$ , $n$ 表示 $s$ 的长度。
接下来一行一个长为 $n$ 的字符串 $s$ 。
接下来 $m$ 行,每行两个整数表示 $l_i, r_i$ 。
接下来 $q$ 行,每行一个字符串 $w$ ,两个整数 $a, b$ 。
对于每个询问一行,输出答案。
8 5 3 3 abacdaba 0 2 1 2 0 0 2 2 1 2 dab 1 4 bac 2 3 eeb 1 3
7 3 2
点击下载样例2
对于 $10\%$ 的数据, $n, m, k, q \leq 10$ ;
对于 $30\%$ 的数据,满足 $n, m, k, q \leq 10 ^ 2$ ;
对于 $50\%$ 的数据,满足 $n, m, k, q \leq 10 ^ 4$ ;
对于 $100\%$ 的数据,满足 $0 < n, m, k, q \leq 10 ^ 5, \sum |w| \leq 10 ^ 5, 0 \leq l_i, r_i < k, 0 \leq a, b < m$ ,字符串由小写英文字母构成。
LOJ