有基础集合位运算概念如下: 1.集合:由互不重复元素组成的整体,例:{1, 2, 3} 2.交集:两集合共有的元素,例:{1, 2} ∩ {2, 3} = {2} 3.并集:合并两集合所有元素,例:{1, 2} ∪ {2, 3} = {1, 2, 3} 4.对称差:仅单独出现在一个集合的元素,例:{1, 2} Δ {2, 3} = {1, 3} 给定 n 个集合 s1,s2,…sn,每个集合都含有 [1, m] 之间的若干个整数。 现在,有 q 次操作,每次操作如下: 1 x y:将 sx 中的每个元素都加上 y,再删去其中大于 m 的; 2 x y:将 sx 中的每个元素都减去 y,再删去其中小于 1 的; 3 x y:查询 sx 和 sy 的交集的元素个数; 4 x y:查询 sx 和 sy 的并集的元素个数; 5 x y:查询 sx 和 sy 的对称差的元素个数。
第一行有三个数,依次表示集合的个数 n,集合元素的最大值 m 和操作次数 q。 第 2 到第 n + 1 行,每行有若干个整数,第 i + 1 行的整数描述集合 si 的元素: 每行首先有一个整数 ci 表示 si 的元素个数,接下来有 c 个互不相同的整数 s(i,1), s(i,2), … s_(i,c_i )表示集合 si 里的元素。 接下来 q 行,每行三个整数 o, 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
对于全部的测试点,保证 1 ≤ n, m, q ≤ 3 × 104,1 ≤ ∑_(i = 1)^n▒〖 c_i 〗 ≤ 106,1 ≤ x, y ≤ n,1 ≤ o ≤ 5。集合里的元素都是不超过 m 的正整数。