CF1557C Moamen and XOR

题目描述

Moamen 和 Ezzat 正在玩一个游戏。他们创建了一个长度为 $n$ 的非负整数数组 $a$,其中每个元素都小于 $2^k$。 如果满足 $a_1 \,\&\, a_2 \,\&\, a_3 \,\&\, \ldots \,\&\, a_n \ge a_1 \oplus a_2 \oplus a_3 \oplus \ldots \oplus a_n$,则 Moamen 获胜。 这里,$\&$ 表示[按位与运算](https://en.wikipedia.org/wiki/Bitwise_operation#AND),$\oplus$ 表示[按位异或运算](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)。 请计算有多少种数组 $a$ 能让 Moamen 获胜。 由于答案可能非常大,请输出结果对 $1\,000\,000\,007$($10^9 + 7$)取模后的值。

输入格式

第一行包含一个整数 $t$($1 \le t \le 5$),表示测试用例的数量。 每个测试用例包含一行,包含两个整数 $n$ 和 $k$($1 \le n \le 2 \cdot 10^5$,$0 \le k \le 2 \cdot 10^5$)。

输出格式

对于每个测试用例,输出一个整数,表示 Moamen 获胜的不同数组的数量。 请输出结果对 $1\,000\,000\,007$($10^9 + 7$)取模后的值。

说明/提示

在第一个样例中,$n = 3$,$k = 1$。所有可能的数组为 $[0,0,0]$,$[0,0,1]$,$[0,1,0]$,$[1,0,0]$,$[1,1,0]$,$[0,1,1]$,$[1,0,1]$,$[1,1,1]$。 其中有 $5$ 种情况 Moamen 获胜,分别是 $[0,0,0]$,$[1,1,0]$,$[0,1,1]$,$[1,0,1]$,$[1,1,1]$。 由 ChatGPT 4.1 翻译