P11912 [PA 2025] 集合 2 / Zbiory 2
题目背景
PA 2025 trial round t2.
**请注意本题非同寻常的时空限制。**
题目描述
> **问题。**
>
> 给定正整数 $n$ 和非负整数 $m$。定义全集 $U=\{1,2,\ldots,n\}$。
>
> 构造 $(n+m)$ 个集合 $A_1,A_2,\ldots,A_{n+m}$:
>
> 1. 对于 $1\le i\le n$,$A_i$ 里的元素为 $U$ 中 $i$ 的倍数。
> 2. 对于 $n+1\le i\le n+m$,给定参数 $op_i$:
>
> - 当 $op_i=1$ 时,给定参数 $x,y$($x,y\lt n+i$),则 $A_{i} =A_x\cup A_y$;
> - 当 $op_i=2$ 时,给定参数 $x,y$($x,y\lt n+i$),则 $A_{i}=A_x\cap A_y$;
> - 当 $op_i=3$ 时,给定参数 $x$($x\lt n+i$),则 $A_{i}=U\backslash A_x$(即 $A_i=\{j:j\in U,j\not\in A_x\}$)。
>
> 定义问题的答案为 $A_{n+m}$。
给定正整数 $n$ 和目标集合 $B\subseteq \{1,2,\ldots,n\}$。构造非负整数 $m$ 和一组对应的参数,使得上述问题的答案为 $B$。
你需要保证 $0\le m\le 10^5$。可以证明本题一定有解。
输入格式
第一行,两个正整数 $n,k$,其中 $|B|=k$。
第二行,$k$ 个正整数 $B_1,B_2,\ldots,B_k$,描述 $B$ 中的元素。
输出格式
输出 $(m+1)$ 行:
第一行,一个非负整数 $m$。
接下来 $m$ 行,第 $i$ 行两个或三个正整数(格式见上),描述集合 $A_{n+i}$ 的生成方式。
你需要保证 $0\le m\le 10^5$,且格式符合【题目描述】中的限制。
说明/提示
- $1\le n\le 5\times 10^4$;
- $B\subseteq \{1,2,\ldots,n\}$。