#CF1829H. 别怪我

    ID: 1129 传统题 2000ms 256MiB 尝试: 1 已通过: 0 难度: 10 上传者: 标签>1700Codeforces动态规划位运算分类讨论

别怪我

别怪我

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定一个由 nn 个非负整数组成的数组 aa。请统计有多少个非空子序列,使其所有元素的按位与结果的二进制表示中恰好有 kk 个 11。

答案对 109+710^9+7 取模。

输入格式

第一行包含整数 tt(1≤t≤1041\le t\le10^4)。每个测试用例第一行包含 n,kn,k(1≤n≤2×1051\le n\le2\times10^5,0≤k≤60\le k\le6),第二行包含 nn 个整数 aia_i(0≤ai≤630\le a_i\le63)。

保证所有测试用例的 nn 之和不超过 2×1052\times10^5。

输出格式

对每个测试用例输出一行满足条件的非空子序列数,结果对 109+710^9+7 取模。

样例输入 1

6
5 1
1 1 1 1 1
4 0
0 1 2 3
5 1
5 5 7 4 2
1 2
3
12 0
0 2 0 2 0 2 0 2 0 2 0 2
10 6
63 0 63 5 5 63 63 4 12 13

样例输出 1

31
10
10
1
4032
15

数据范围

子任务编号 分值 特殊限制
1 30 t≤6t\le6,每组 n≤20n\le20,且 ∑n≤60\sum n\le60
2 每组数组中的元素全部相等
3 40 无特殊限制