P16495 踏青南陌上,寄远展壮游

题目背景

春天的美好季节,一定要出去踏青!

题目描述

zxh 准备去踏青。 一开始,zxh 不知道任何景点。zxh 总共会搜索 $q$ 次,每次搜索到一个景点。每个景点用一个 $n$ 位的二进制数 $a_i$ 表示它包含哪些景色,$a_i$ 可以是 $0$。(输入时使用十进制) zxh 会安排若干次踏青,每次踏青是依次访问若干个景点(可以重复访问同一个景点)。 在一次踏青中,如果连续访问的两个景点 $u$ 和 $v$ 满足 $a_u \;\text{or}\; a_v = 2^n - 1$(即它们按位或的结果包含了所有 $n$ 种景色),那么这次踏青就是“不值得期待”的。 zxh 不会安排不值得期待的踏青。因此,一次踏青中相邻的两个景点必须满足 $a_u \;\text{or}\; a_v \neq 2^n - 1$。 在每一次搜索之后(也就是得到了前 $k$ 个景点之后),zxh 想知道:至少需要安排几次踏青,才能把当前已经搜索到的所有景点都至少访问一次。 注意,不同的踏青之间没有顺序要求,每次踏青可以独立选择景点序列。 你需要对每次搜索后,输出这个最少踏青次数。

输入格式

第一行,两个整数 $n,q$。 接下来 $q$ 行,每行一个数 $a_i$ 表示搜索到的景点。

输出格式

共 $q$ 行,每行一个整数,表示插入后的答案。

说明/提示

对于第四次询问,获得 $a_i=6$ 的新景点后,$3 \to 1 \to 5$,形成一次踏青;$6$ 独自形成一次踏青(注意单独的一个景点也可以是一次踏青),答案为 $2$。 --- ::cute-table{tuack} |Subtask 编号|$q\le$|特殊性质|分值| |:--------:|:--:|:--------:|:-:| |#1|$15$|无| $2$ | |#2|$10^3$|^| $7$ | |#3|$10^5$|^| $23$ | |#4|$5 \times 10^5$|A| $15$ | |#5|^|无| $53$ | 特殊性质 A:$n \le 2$。 对于 $100\%$ 的数据,$1 \le n \le 60,0 \le a_i \le 2^n-1,1 \le q \le 5 \times 10^5$。