#ABC278Ex. 异或为 1

异或为 1

异或为 1

题目描述

称非负整数序列 SS 为「好序列」,如果满足:

存在 SS 的一个非空(不要求连续)子序列 TT,使得 TT 中所有元素的按位异或为 11

有一个空序列 AA,以及写有 002B12^B-1 之间每个整数各一张的 2B2^B 张卡片。

你重复以下操作,直到 AA 成为好序列:

自由选择一张卡片,将卡片上写的整数追加到 AA 的末尾。然后吃掉这张卡片。(被吃掉的卡片不能再被选择。)

有多少个长度为 NN 的序列可以成为操作结束后的最终 AA?求其个数对 998244353998244353 取模。

什么是按位异或?

非负整数 AABB 的按位异或 ABA \oplus B 定义如下。

ABA \oplus B 写成二进制时,第 kk 位(k0k \ge 0)为 11,当且仅当 AABB 的第 kk 位中恰好有一个为 11,否则为 00

例如,35=63 \oplus 5 = 6(二进制:011101=110011 \oplus 101 = 110)。

输入格式

输入按以下格式从标准输入给出:

NN BB

输出格式

输出答案。

样例

2 2
5

以下 5 个长度为 22 的序列可以成为操作结束后的最终 AA:

(0,1)(0, 1)

(2,1)(2, 1)

(2,3)(2, 3)

(3,1)(3, 1)

(3,2)(3, 2)

2022 1119
293184537
200000 10000000
383948354

数据范围

  • 1N2×1051 \le N \le 2 \times 10^5
  • 1B1071 \le B \le 10^7
  • N2BN \le 2^B
  • NNBB 均为整数。
难度 NOI/NOI+/CTS
通过率
尝试 0
已通过 0
ID
2549
类型
传统题
Time Limit
1078ms
Memory Limit
1024MiB
上传者
标签