atcoder#ARC139F. [ARC139F] Many Xor Optimization Problems

[ARC139F] Many Xor Optimization Problems

配点 : 10001000

問題文

PCT 君は以下の問題を作りました。

Xor Optimization Problem長さ NN の非負整数列 A1,A2,...,ANA_1,A_2,...,A_N が与えられる。AA の要素を好きな個数選ぶとき、選んだ値の XOR\mathrm{XOR} が取りうる最大値はいくらか?

この問題は、Nyaan さんにとっては簡単だったため PCT 君は以下のように改題しました。

Many Xor Optimization Problems長さ NN かつ全ての要素が 00 以上 2M12^M-1 以下である整数列は 2NM2^{NM} 通り存在しますが、その全てに対して Xor Optimization Problem を解いた時の解の総和を 998244353998244353 で割ったあまりを求めてください。

Many Xor Optimization Problems を解いてください。

$\mathrm{XOR}$ とは

非負整数 A,BA, B のビット単位 XOR\mathrm{XOR}ABA \oplus B は、以下のように定義されます。

  • ABA \oplus B を二進表記した際の 2k2^k (k0k \geq 0) の位の数は、A,BA, B を二進表記した際の 2k2^k の位の数のうち一方のみが 11 であれば 11、そうでなければ 00 である。
$$3 \oplus 5 = 6$$$$011 \oplus 101 = 110$$$$k$$$$p_1, p_2, p_3, \dots, p_k$$$$\mathrm{XOR}$$$$(\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k)$$$$p_1, p_2, p_3, \dots, p_k $$

制約

  • 1N,M2500001 \le N,M \le 250000
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられます。

NN MM

出力

答えを出力してください。

2 1
3

長さが 22 かつ全ての要素が 00 以上 11 以下である整数列全てに対して Xor Optimization Problem を解きます。

  • 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 が解となります。

3 4
52290
1234 5678
495502261