题目背景
PA 2025 trial round t2.
请注意本题非同寻常的时空限制。
题目描述
问题。
给定正整数 n 和非负整数 m。定义全集 U={1,2,…,n}。
构造 (n+m) 个集合 A1,A2,…,An+m:
- 对于 1≤i≤n,Ai 里的元素为 U 中 i 的倍数。
- 对于 n+1≤i≤m,给定参数 opi:
- 当 opi=1 时,给定参数 x,y(x,y<n+i),则 Ai=Ax∪Ay;
- 当 opi=2 时,给定参数 x,y(x,y<n+i),则 Ai=Ax∩Ay;
- 当 opi=3 时,给定参数 x(x<n+i),则 Ai=U\Ax(即 Ai={j:j∈U,j∈Ax})。
定义问题的答案为 An+m。
给定正整数 n 和目标集合 B⊆{1,2,…,n}。构造非负整数 m 和一组对应的参数,使得上述问题的答案为 B。
你需要保证 0≤m≤105。可以证明本题一定有解。
输入格式
第一行,两个正整数 n,k,其中 ∣B∣=k。
第二行,k 个正整数 B1,B2,…,Bk,描述 B 中的元素。
输出格式
输出 (m+1) 行:
第一行,一个非负整数 m。
接下来 m 行,第 i 行两个或三个正整数(格式见上),描述集合 An+i 的生成方式。
你需要保证 0≤m≤105,且格式符合【题目描述】中的限制。
7 4
1 2 4 6
8
1 5 7
2 2 3
3 8
2 10 8
3 3
1 12 12
2 10 13
1 9 14
3 1
3
0
提示
- 1≤n≤5×104;
- B⊆{1,2,…,n}。