#P9017. [USACO23JAN] Lights Off G

[USACO23JAN] Lights Off G

题目描述

给定正整数 NN,和两个长为 NN 的 0101 序列 aa 和 bb。定义一次操作为:

  1. 将 bb 序列中的一个值翻转(即 00 变成 11,11 变成 00,下同)。
  2. 对于 bb 序列中每个值为 11 的位置,将 aa 序列中对应位置的值翻转。
  3. 将 bb 序列向右循环移位 11 位。即若当前 bb 序列为 b1b2⋯bnb_1b_2\cdots b_{n},则接下来变为 bnb1b2⋯bn−1b_{n}b_1b_2\cdots b_{n-1}。

有 TT 次询问,对每一次询问,你需要回答出至少需要几次操作,才能使 aa 序列中每一个位置的值都变为 00。

输入格式

第一行为两个正整数 T,N  (1≤T≤2×105,2≤N≤20)T,N\;(1\leq T\leq 2\times10^5,2\leq N\leq 20)。

接下来 TT 行,每行为两个长为 NN 的 0101 序列 aa 和 bb,表示一组询问。

输出格式

共 TT 行,每行一个正整数,表示最少的操作次数。

4 3
000 101
101 100
110 000
111 000
0
1
3
2
1 10
1100010000 1000011000
2

提示

样例一解释

  • 第一个测试用例:灯已经全部熄灭。
  • 第二个测试用例:我们在第一步中打开第三个开关。
  • 第三个测试用例:我们在第一次移动时翻转第一个开关,在第二次移动时扳动第二个开关,然后在第三次移动时再次翻转第二个。
  • 第四个测试用例:我们在第一次移动时打开第一个开关,在第二次移动时关闭第三个开关。 可以证明,在每种情况下,这都是所需的最小移动次数。

样例二解释

可以看出,需要2次移动才能关闭所有灯。

  • 我们在第一步中打开第七个开关,然后在第二步中再次打开。

数据范围:

  • 数据点 3−53−5:N≤8N \le 8
  • 数据点 6−136−13:N≤18N \le 18
  • 数据点 14−2014−20:无额外约束。