题目名称 3901. [桐柏邀请赛S14]storm
输入输出 storm.in/out
难度等级
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatarsyzhaoss 于2023-07-07加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:9, 通过率:0%
Gravatar456 15 28.953 s 4.65 MiB C++
Gravatar456 15 28.965 s 4.65 MiB C++
Gravatar456 0 0.000 s 0.00 MiB C++
Gravatar456 0 0.000 s 0.00 MiB C++
Gravatar456 0 0.009 s 5.81 MiB C++
Gravatar456 0 0.009 s 5.81 MiB C++
Gravatar唯我独尊 0 3.730 s 5.74 MiB C++
Gravatar唯我独尊 0 3.772 s 5.74 MiB C++
Gravatar456 0 28.913 s 4.65 MiB C++
关于 storm 的近10条评论(全部评论)

3901. [桐柏邀请赛S14]storm

★   输入文件:storm.in   输出文件:storm.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】

云浅来到了风暴的中心。这里漂浮着一个长为 $n$ 的,由小写字母组成的字符串 $S$。字符串的下标从 $1$ 开始

想要逃出风暴,就需要回答一些询问。

每次询问会给出一个正整数 $l,r$ 和一个字符串 $T$,云浅需要回答 $S_{l\cdots r}$ 这段子串内有多少个子序列是 $T$。这里保证 $T$ 的长度为 $2$

形式化地,你需要求出有多少对 $(i,j)$ 满足 $l\le i<j\le r$,使得 $S_i=T_1,S_j=T_2$。

现在云浅预测出了风暴在接下来 $q$ 个时刻内的询问,你需要帮她求出每个询问的

【输入格式】

第一行两个正整数 $n,q$。

第二行一个长为 $n$ 的字符串 $S$。

接下来 $q$ 行,每行会给出两个正整数 $l,r$ 和一个字符串 $T$,表示云浅需要回答的询问。保证 $|T|=2$。

【输出格式】

对于每次询问,输出一行一个正整数表示答案。

【样例输入】

10 4
yunqianqwq
2 7 un
3 9 qw
4 10 wq
2 10 nq

【样例输出】

2
2
1
5

【样例说明】

对于第一次询问,符合条件的 $(i,j)$ 分别为 $(2,3),(2,7)$。

对于第二次询问,符合条件的 $(i,j)$ 分别为 $(4,9),(8,9)$

对于第三次询问,符合条件的 $(i,j)$ 只有一个,即 $(9,10)$。

对于第四次询问,符合条件的 $(i,j)$ 分别为 $(3,4),(3,8),(3,10),(7,8),(7,10)$。

【数据规模与约定】

对于 $100\%$ 的数据,$1\le n,q\le 2\times 10^5,1\le l\le r\le n,S,T$ 中只含小写英文字母,$|T|=2$。

【来源】

桐柏邀请赛S14 Task3