P9017 [USACO23JAN] Lights Off G
题目描述
给定正整数 $N$,和两个长为 $N$ 的 $01$ 序列 $a$ 和 $b$。定义一次操作为:
1. 将 $b$ 序列中的一个值翻转(即 $0$ 变成 $1$,$1$ 变成 $0$,下同)。
2. 对于 $b$ 序列中每个值为 $1$ 的位置,将 $a$ 序列中对应位置的值翻转。
3. 将 $b$ 序列向右循环移位 $1$ 位。即若当前 $b$ 序列为 $b_1b_2\cdots b_{n}$,则接下来变为 $b_{n}b_1b_2\cdots b_{n-1}$。
有 $T$ 次询问,对每一次询问,你需要回答出至少需要几次操作,才能使 $a$ 序列中每一个位置的值都变为 $0$。
输入格式
第一行为两个正整数 $T,N\;(1\leq T\leq 2\times10^5,2\leq N\leq 20)$。
接下来 $T$ 行,每行为两个长为 $N$ 的 $01$ 序列 $a$ 和 $b$,表示一组询问。
输出格式
共 $T$ 行,每行一个正整数,表示最少的操作次数。
说明/提示
### 样例一解释
- 第一个测试用例:灯已经全部熄灭。
- 第二个测试用例:我们在第一步中打开第三个开关。
- 第三个测试用例:我们在第一次移动时翻转第一个开关,在第二次移动时扳动第二个开关,然后在第三次移动时再次翻转第二个。
- 第四个测试用例:我们在第一次移动时打开第一个开关,在第二次移动时关闭第三个开关。
可以证明,在每种情况下,这都是所需的最小移动次数。
### 样例二解释
可以看出,需要2次移动才能关闭所有灯。
- 我们在第一步中打开第七个开关,然后在第二步中再次打开。
数据范围:
- 数据点 $3−5$:$N \le 8$
- 数据点 $6−13$:$N \le 18$
- 数据点 $14−20$:无额外约束。