AT_arc155_e [ARC155E] Split and Square
题目描述
对于由非负整数组成的集合 $X$,我们定义 $f(X)$ 为:所有可以表示为 $X$ 中两个整数(可以是相同的整数)按位异或($\mathrm{XOR}$)得到的非负整数组成的集合。例如,当 $X=\lbrace 1,\ 2,\ 4\rbrace$ 时,$f(X)=\lbrace 0,\ 3,\ 5,\ 6\rbrace$。
给定一个包含 $N$ 个小于 $2^M$ 的非负整数组成的集合 $S=\lbrace A_1,\ A_2,\ \dots,\ A_N\rbrace$。
你可以进行如下操作任意次:
- 将 $S$ 分成两个集合 $T_1$ 和 $T_2$(允许 $T_1$ 或 $T_2$ 为空集)。然后,用 $f(T_1)$ 与 $f(T_2)$ 的并集替换 $S$。
请你求出将 $S$ 变为 $\lbrace 0\rbrace$ 所需的最小操作次数。
按位异或($\mathrm{XOR}$)运算的定义如下:对于非负整数 $A$、$B$,$A\oplus B$ 的二进制表示中,每一位 $2^k$($k\geq 0$)上的数,如果 $A$ 和 $B$ 在该位上只有一个为 $1$,则该位为 $1$,否则为 $0$。
例如,$3\oplus 5=6$(二进制表示为 $011\oplus 101=110$)。
一般地,$k$ 个非负整数 $p_1,p_2,p_3,\dots,p_k$ 的按位异或定义为 $(\dots((p_1\oplus p_2)\oplus p_3)\oplus\dots\oplus p_k)$,并且可以证明其结果与顺序无关。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$
> $A_1$
> $A_2$
> $\vdots$
> $A_N$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1\leq N\leq 300$
- $1\leq M\leq 300$
- $0\leq A_i