测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6751. 「NOI2024」集合

编程题 省选/NOI-
知识点

题目描述

小 Y 和小 S 在玩一个游戏。

给定正整数 $m$,定义**基本集合**为大小为 $3$,元素在 $1\sim m$ 内的集合。例如:给定 $m=4$,则集合 $\{1,2,3\}$ 与集合 $\{2,3,4\}$ 都是基本集合。

定义**集合序列**为由基本集合构成的序列,例如,$A=[\{1,2,3\},\{2,3,4\}]$ 是一个集合序列,其中 $A[1]=\{1,2,3\}$,$A[2]=\{2,3,4\}$ 都是基本集合。

对于一个 $1\sim m$ 的排列 $p[1],p[2],\dots,p[m]$ 与集合 $S\subseteq \{1,2,\dots,m\}$,定义 $f_p(S)$ 为将 $S$ 内每一个元素 $x$ 置换为 $p[x]$ 后所得到的集合,即 $f_p(S)=\{p[x]|x\in S\}$。

对于两个长度为 $k$ 的集合序列 $A,B$,定义 $A$ 和 $B$ **等价**当且仅当存在一个 $1\sim m$ 的排列 $p$,使得 $A$ 置换排列 $p$ 后得到 $B$,即对于所有 $1\leq i\leq k$,$f_p(A[i])=B[i]$。

给定两个长度为 $n$ 的集合序列 $A,B$,有 $q$ 次询问。每次小 S 会询问小 Y,在给定 $l,r$ 的情况下,判断集合序列 $[A[l],A[l+1],\dots,A[r]]$ 与集合序列 $[B[l],B[l+1],\dots,B[r]]$ 是否等价。

时光荏苒,小 S 和小 Y 也会散去。而我们和一个人保持连接的方式就是记住,仅此而已。

输入格式

从文件 set.in 中读入数据。

输入的第一行包含三个正整数 $n,m,q$,分别表示集合序列的长度,元素范围和询问次数。

输入的第二行包含 $3n$ 个正整数,第 $3i-2,3i-1,3i$($1\leq i\leq n$)个正整数分别表示 $A[i]$ 的三个元素。保证这三个元素均在 $[1,m]$ 范围内且互不相同。

输入的第三行包含 $3n$ 个正整数,第 $3i-2,3i-1,3i$($1\leq i\leq n$)个正整数分别表示 $B[i]$ 的三个元素。保证这三个元素均在 $[1,m]$ 范围内且互不相同。

接下来 $q$ 行,每行包含两个正整数 $l,r$,表示一次询问。

输出格式

输出到文件 set.out 中。

输出 $q$ 行,每行包含一个字符串 YesNo,表示对应询问的两个序列是否等价。

输入输出样例

输入 #1
4 4 10
1 2 3 1 2 3 1 2 4 1 2 3
1 2 4 2 3 4 1 2 3 2 3 4
1 1
1 2
1 3
1 4
2 2
2 3
2 4
3 3
3 4
4 4
输出 #1
Yes
No
No
No
Yes
Yes
Yes
Yes
Yes
Yes
上一题 去做题 下一题