#H. [CSP-S 2025] 谐音替换

    传统题 2000ms 2048MiB

[CSP-S 2025] 谐音替换

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

题目背景

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

由于评测机性能差异,本题不要提交

提交了也是零分

题目描述

小 W 是一名喜欢语言学的算法竞赛选手。在语言学中,谐音替换是指将原有的字词替换为读音相同或相近的字词。小 W 发现,谐音替换的过程可以用字符串来进行描述。具体地,小 W 将谐音替换定义为以下字符串问题:

给定 nn 个字符串二元组,第 ii (1in1 \leq i \leq n) 个字符串二元组为 (si,1,si,2)(s_{i,1}, s_{i,2}),满足 si,1=si,2|s_{i,1}| = |s_{i,2}|,其中 s|s| 表示字符串 ss 的长度。

对于字符串 ss,定义 ss替换如下:

  • 对于 ss 的某个子串 yy,若存在 1in1 \leq i \leq n 满足 y=si,1y = s_{i,1},则将 yy 替换为 y=si,2y' = s_{i,2}。具体地,设 s=x+y+zs = x + y + z,其中 xxzz 可以为空,“+” 表示字符串拼接,则 ss 的替换将得到字符串 s=x+y+zs' = x + y' + z

小 W 提出了 qq 个问题,第 jj (1jq1 \leq j \leq q) 个问题会给定两个不同的字符串 tj,1,tj,2t_{j,1}, t_{j,2},她想知道有多少种字符串 tj,1t_{j,1} 的替换能够得到字符串 tj,2t_{j,2}。两种 ss 的替换不同当且仅当子串 yy 的位置不同或用于替换的二元组 (si,1,si,2)(s_{i,1}, s_{i,2}) 不同,即 x,zx, z 不同或 ii 不同。你需要回答小 W 提出的所有问题。

输入格式

输入的第一行包含两个正整数 n,qn, q,分别表示字符串二元组的数量和小 W 提出的问题的数量。

输入的第 i+1i+1 (1in1 \leq i \leq n) 行包含两个字符串 si,1,si,2s_{i,1}, s_{i,2},表示第 ii 个字符串二元组。

输入的第 j+n+1j+n+1 (1jq1 \leq j \leq q) 行包含两个字符串 tj,1,tj,2t_{j,1}, t_{j,2},表示小 W 提出的第 jj 个问题。

输出格式

输出 qq 行,其中第 jj (1jq1 \leq j \leq q) 行包含一个非负整数,表示替换后得到字符串 tj,2t_{j,2} 的字符串 tj,1t_{j,1} 的替换的数量。

输入输出样例 #1

输入 #1

4 2
xabcx xadex
ab cd
bc de
aa bb
xabcx xadex
aaaa bbbb

输出 #1

2
0

输入输出样例 #2

输入 #2

3 4
a b
b c
c d
aa bb
aa b
a c
b a

输出 #2

0
0
0
0

说明/提示

【样例 1 解释】

对于小 W 的第一个询问,共有 22t1,1t_{1,1} 的替换能够得到 t1,2t_{1,2}:

  1. x,zx, z 均为空串,y=xabcxy = \text{xabcx}, i=1i = 1,则 y=xadexy' = \texttt{xadex},替换后得到 xadex\text{xadex}
  2. x=xax = \texttt{xa}, y=bcy = \texttt{bc}, z=xz = \texttt{x}, i=3i = 3,则 y=dey' = \texttt{de},替换后得到 xadex\texttt{xadex}

【样例 3】

见选手目录下的 replace/replace3.inreplace/replace3.inreplace/replace3.ansreplace/replace3.ans

该样例满足测试点 11, 12 的约束条件。

【样例 4】

见选手目录下的 replace/replace4.inreplace/replace4.inreplace/replace4.ansreplace/replace4.ans

该样例满足测试点 15, 16 的约束条件。

【数据范围】

L1=i=1nsi,1+si,2L_1 = \sum_{i=1}^{n} |s_{i,1}| + |s_{i,2}|, L2=j=1qtj,1+tj,2L_2 = \sum_{j=1}^{q} |t_{j,1}| + |t_{j,2}|。对于所有测试数据,保证:

  • 1n,q2×1051 \leq n, q \leq 2 \times 10^5;
  • 2L1,L25×1062 \leq L_1, L_2 \leq 5 \times 10^6;
  • 对于所有 1in1 \leq i \leq n, si,1,si,2s_{i,1}, s_{i,2} 均仅包含小写英文字母,且 si,1=si,2|s_{i,1}| = |s_{i,2}|;
  • 对于所有 1jq1 \leq j \leq q, tj,1,tj,2t_{j,1}, t_{j,2} 均仅包含小写英文字母,且 tj,1tj,2t_{j,1} \neq t_{j,2}

::cute-table{tuack}

测试点编号 n,qn, q \leq L1,L2L_1, L_2 \leq 特殊性质
1,21, 2 10210^2 200200
353 \sim 5 10310^3 20002\,000 ^
66 ^ 10610^6 AB
7,87, 8 10410^4 ^ A
9,109, 10 2×1052 \times 10^5 B
11,1211, 12 ^ 2×1062 \times 10^6
13,1413, 14 5×1065 \times 10^6 A
15,1615, 16 ^ B
172017 \sim 20

特殊性质 A:q=1q = 1

特殊性质 B:定义字符串 ss特别的,当且仅当字符串 ss 仅包含字符 aabb,且字符 bbss 中出现恰好一次。对于所有 1in1 \leq i \leq n, si,1,si,2s_{i,1}, s_{i,2} 均为特别的,且对于所有 1jq1 \leq j \leq q, tj,1,tj,2t_{j,1}, t_{j,2} 均为特别的。

2024-2025能在这里跑起来的CSP真题

未参加
状态
已结束
规则
IOI
题目
10
开始于
2025-11-10 10:30
结束于
2025-12-3 0:00
持续时间
541.5 小时
主持人
参赛人数
5