CF1557C.Moamen and XOR

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Moamen and Ezzat are playing a game. They create an array aa of nn non-negative integers where every element is less than 2k2^k.

Moamen wins if a1 & a2 & a3 & … & an≥a1⊕a2⊕a3⊕…⊕ana_1 \,\&\, a_2 \,\&\, a_3 \,\&\, \ldots \,\&\, a_n \ge a_1 \oplus a_2 \oplus a_3 \oplus \ldots \oplus a_n.

Here &\& denotes the bitwise AND operation, and ⊕\oplus denotes the bitwise XOR operation.

Please calculate the number of winning for Moamen arrays aa.

As the result may be very large, print the value modulo 1 000 000 0071\,000\,000\,007 (109+710^9 + 7).

莫阿门和埃扎特正在玩一个游戏。他们创建一个包含 nn 个非负整数的数组 aa,其中每个元素均小于 2k2^k。

若满足 a1 & a2 & a3 & … & an≥a1⊕a2⊕a3⊕…⊕ana_1 \,\&\, a_2 \,\&\, a_3 \,\&\, \ldots \,\&\, a_n \ge a_1 \oplus a_2 \oplus a_3 \oplus \ldots \oplus a_n,则莫阿门获胜。

此处 &\& 表示按位与运算,⊕\oplus 表示按位异或运算。

请计算莫阿门获胜的数组 aa 的个数。

由于结果可能非常大,请输出其对 1 000 000 0071\,000\,000\,007(即 109+710^9 + 7)取模的值。

输入格式

The first line contains a single integer tt (1≤t≤51 \le t \le 5)— the number of test cases.

Each test case consists of one line containing two integers nn and kk (1≤n≤2⋅1051 \le n\le 2\cdot 10^5, 0≤k≤2⋅1050 \le k \le 2\cdot 10^5).

第一行包含一个整数 tt(1≤t≤51 \le t \le 5)——测试用例的数量。

每个测试用例由一行组成,包含两个整数 nn 和 kk(1≤n≤2⋅1051 \le n\le 2\cdot 10^5,0≤k≤2⋅1050 \le k \le 2\cdot 10^5)。

输出格式

For each test case, print a single value — the number of different arrays that Moamen wins with.

Print the result modulo 1 000 000 0071\,000\,000\,007 (109+710^9 + 7).

对于每个测试用例,输出一个整数——Moamen 获胜的不同数组的个数。

结果对 1 000 000 0071\,000\,000\,007(即 109+710^9 + 7)取模。

输入输出样例

  • 输入#1

    3
    3 1
    2 1
    4 0

    输出#1

    5
    2
    1

说明/提示

In the first example, n=3n = 3, k=1k = 1. As a result, all the possible arrays are [0,0,0][0,0,0], [0,0,1][0,0,1], [0,1,0][0,1,0], [1,0,0][1,0,0], [1,1,0][1,1,0], [0,1,1][0,1,1], [1,0,1][1,0,1], and [1,1,1][1,1,1].

Moamen wins in only 55 of them: [0,0,0][0,0,0], [1,1,0][1,1,0], [0,1,1][0,1,1], [1,0,1][1,0,1], and [1,1,1][1,1,1].

在第一个例子中,n=3n = 3,k=1k = 1。因此,所有可能的数组为 [0,0,0][0,0,0]、[0,0,1][0,0,1]、[0,1,0][0,1,0]、[1,0,0][1,0,0]、[1,1,0][1,1,0]、[0,1,1][0,1,1]、[1,0,1][1,0,1] 和 [1,1,1][1,1,1]。

Moamen 仅在其中 55 种情况下获胜:[0,0,0][0,0,0]、[1,1,0][1,1,0]、[0,1,1][0,1,1]、[1,0,1][1,0,1] 和 [1,1,1][1,1,1]。

输入解题思路,AI测评打分。不知道怎么写?

首页