#B3695. 集合运算 3

集合运算 3

题目背景

关于集合、交集、并集的定义请参考 https://www.luogu.com.cn/problem/B3633。

以下给出对称差的定义:

对两个集合 A,BA, B,规定 AABB 的对称差 AΔBA \Delta B 为在 AA 中出现但不在 BB 中出现,或在 BB 中出现但不在 AA 中出现的元素。
例如,A={1,2,3}A = \{1, 2, 3\}B={2,3,5}B = \{2, 3, 5\},则 AΔB={1,5}A \Delta B = \{1, 5\}

题目描述

给定 nn 个集合 s1,s2,sns_1, s_2, \dots s_n,每个集合都含有 [1,m][1, m] 之间的若干个整数。

现在,有 qq 次操作,每次操作如下:

  • 1 x y:将 sxs_x 中的每个元素都加上 yy,再删去其中大于 mm 的;
  • 2 x y:将 sxs_x 中的每个元素都减去 yy,再删去其中小于 11 的;
  • 3 x y:查询 sxs_xsys_y交集的元素个数;
  • 4 x y:查询 sxs_xsys_y并集的元素个数;
  • 5 x y:查询 sxs_xsys_y对称差的元素个数;

输入格式

第一行有三个数,依次表示集合的个数 nn,集合元素的最大值 mm 和操作次数 qq

22 到第 (n+1)(n + 1) 行,每行有若干个整数,第 (i+1)(i + 1) 行的整数描述集合 ii 的元素:
每行首先有一个整数 cic_i 表示 sis_i 的元素个数,接下来有 cc 个互不相同的整数 si,1,si,2,si,cis_{i,1}, s_{i,2}, \dots s_{i, c_i} 表示集合 sis_i 里的元素。

接下来 qq 行,每行三个整数 o,x,yo, x, y,表示一次操作。具体见『题目描述』。

输出格式

对于每个查询操作,请输出一行一个整数表示答案。

2 5 5
3 1 2 3
4 1 2 4 5
1 2 1
2 1 1
3 1 2
4 1 2
5 1 2
1
4
3

提示

数据规模与约定

对于全部的测试点,保证 1n,m,q3×1041 \leq n,m,q \leq 3 \times 10^41i=1nci1061 \leq \sum_{i = 1}^n c_i \leq 10^61x,yn1 \leq x, y \leq n1o51 \leq o \leq 5。集合里的元素都是不超过 mm 的正整数。

感谢

/user/434929
hack 数据一组。