#ATarc139f. [ARC139F] Many Xor Optimization Problems

[ARC139F] Many Xor Optimization Problems

题目描述

PCT 君出了一道如下题目。

Xor 优化问题
给定一个长度为 NN 的非负整数序列 A1,A2,,ANA_1,A_2,\ldots,A_N。你可以任选若干个 AA 的元素,所选元素的 XOR\mathrm{XOR} 能取得的最大值是多少?

由于这道题对 Nyaan 君来说太简单了,PCT 君将题目改成了如下形式。

多个 Xor 优化问题
长度为 NN 且所有元素都在 002M12^M-1 之间的整数序列共有 2NM2^{NM} 种。对于所有这些序列,分别求解 Xor 优化问题,将所有答案之和对 998244353998244353 取模,输出结果。

请你解决 多个 Xor 优化问题

XOR\mathrm{XOR} 的定义如下:
对于非负整数 A,BA,B,它们的按位 XOR\mathrm{XOR},记作 ABA\oplus B,定义为:

  • ABA\oplus B 的二进制表示中 2k2^kk0k\geq 0)位上的数,如果 A,BA,B 的二进制表示在 2k2^k 位上只有一个为 11,则该位为 11,否则为 00

例如,35=63\oplus 5=6(二进制表示为:011101=110011\oplus 101=110)。
一般地,kk 个非负整数 p1,p2,,pkp_1,p_2,\ldots,p_k 的按位 XOR\mathrm{XOR} 定义为 $(\cdots((p\_1\oplus p\_2)\oplus p\_3)\oplus\cdots\oplus p\_k)$,并且可以证明其结果与顺序无关。

输入格式

输入从标准输入读入,格式如下:

NN MM

输出格式

请输出答案。

样例 1

输入

2 1

输出

3

样例 2

输入

3 4

输出

52290

样例 3

输入

1234 5678

输出

495502261

说明/提示

数据范围

  • 1N,M2500001\leq N,M\leq 250000
  • 输入均为整数。

样例解释 1

对于长度为 22 且所有元素都在 0011 之间的所有整数序列,分别求解 Xor 优化问题

  • A=(0,0)A=(0,0) 时,答案为 00
  • A=(0,1)A=(0,1) 时,答案为 11
  • A=(1,0)A=(1,0) 时,答案为 11
  • A=(1,1)A=(1,1) 时,答案为 11
    因此,0+1+1+1=30+1+1+1=3,即为答案。

由 ChatGPT 4.1 翻译