#B3748. [语言月赛202304] 写大作业

[语言月赛202304] 写大作业

题目描述

扶苏为了写计算理论大作业已经 3636 小时没有合眼了。

为了能快点睡觉,扶苏找到了 nn 份文献,第 ii 份文献是一个字符串 sis_i,她打算把这些文献组合起来。

具体来说,一共有两种操作:

  • 1 x y:把文献 sxs_x 整体拼接到 sys_y 的后面,然后删除 sxs_x
  • 2 x y:查询 sxs_xsys_y 是否相似

我们保证在 1 x y 操作出现后,字符串 sxs_x 不会出现在接下来的任何操作中。这就是说,操作 11 至多有 n1n-1 次。

相似的定义是:对两个字符串 sxs_xsys_y,如果存在一种重新排列 sxs_x 的方法,使得重排后的 sxs_xsys_y 相等,则称 sxs_xsys_y 相似

例如,假设 $s_1 = \texttt{ab}, s_2 = \texttt{cd}, s_3 = \texttt{abcd}$,则执行 1 1 2 后,s1s_1 被删除,s2=cdab,s3=abcds_2 = \texttt{cdab}, s_3 = \texttt{abcd};继续执行 2 2 3 后,因为可以把 s2s_2 重排为 abcd\texttt{abcd},所以 s2s_2s3s_3 相似。

注意,操作 22 不会对字符串做出实际修改。

输入格式

第一行是两个整数,分别表示文献的数量 nn 和操作的数量 qq
接下来 nn 行,每行一个字符串,第 ii 行的字符串表示 sis_i
接下来 qq 行,每行三个整数 op,x,yop, x, y,其含义见『题目描述』。

输出格式

对个操作 22,输出一行一个字符串。如果 sxs_xsys_y 相似,则输出 Yes\texttt{Yes},否则输出 No\texttt{No}

4 4
ab
cd
abcd
abcc
1 1 2
2 2 3
2 3 4
2 2 4
Yes
No
No

提示

数据规模与约定

  • 30%30\% 的数据,保证 n=2n = 2q=1q = 1
  • 60%60\% 的数据,保证 n6n \leq 6q6q \leq 6si6|s_i| \leq 6
  • 100%100\% 的数据,保证 2n1052 \leq n \leq 10^51q1061 \leq q \leq 10^61o21 \leq o \leq 21x,yn1 \leq x, y \leq n,且输入字符串的总长度不超过 10610^6,输入字符串仅含小写英文字母,且不是空串。