A93183.「NOI2024」集合

省选/NOI-

NOI

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

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

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

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

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

对于两个长度为 kk 的集合序列 A,BA,B,定义 AABB 等价当且仅当存在一个 1m1\sim m 的排列 pp,使得 AA 置换排列 pp 后得到 BB,即对于所有 1ik1\leq i\leq kfp(A[i])=B[i]f_p(A[i])=B[i]

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

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

输入格式

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

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

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

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

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

输出格式

输出到文件 set.out 中。

输出 qq 行,每行包含一个字符串 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
首页