問題一覧 > 通常問題

No.2061 XOR Sort

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 69
作問者 : taiga0629kyopro / テスター : nok0 👑 ygussany
6 ProblemId : 8340 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-08-25 22:25:53

問題文

長さ NN の整数列 AA が与えられます。次の操作を順に行って長さ NN の数列 BB を作ります。(XOR\mathrm{XOR} はビットごとの排他的論理和を表します)

  • 非負整数 XX を一つ選ぶ。
  • i=1,2,,Ni=1,2, \dots,N に対して Bi=Ai XOR XB_i=A_i \ \mathrm{XOR} \ X とする。
  • BB を昇順に並べ替える。
  • i=1,2,,Ni=1,2, \dots,N に対して BiB_iBi XOR XB_i \ \mathrm{XOR} \ X に置き換える。

最終的な BB としてあり得るものは何通りありますか?答えを 998244353998244353 で割った余りを求めてください。 ただし、長さ NN の数列 BBBB' が異なるとは、ある整数 ii (1iN1 \le i \le N)が存在して、BiBiB_i \neq B'_i が成立するということです。

入力

NN
A1A_1 A2A_2 \dots ANA_N

  • 1N2×1051 \le N \le 2×10^5
  • 0Ai<2300 \le A_i <2^{30}
  • 入力は全て整数
  • 出力

    最終的な BB としてあり得るものの個数を 998244353998244353 で割った余りを出力してください。

    サンプル

    サンプル1
    入力
    3
    0 0 1
    出力
    2

    最終的な BB としてあり得るものは (0,0,1),(1,0,0)(0,0,1),(1,0,0)22 つです。

    サンプル2
    入力
    3
    1 0 2
    出力
    4

    提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。