問題一覧 > 通常問題

No.2083 OR Subset

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 24
作問者 : taiga0629kyopro / テスター : hamamu 👑 ygussany
4 ProblemId : 8444 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-09-17 23:43:05

問題文

{1,2,3,,2N1}\lbrace 1,2,3, \dots , 2^N-1 \rbrace の部分集合 X={X1,X2,,Xk}X=\left \lbrace X_1, X_2, \dots, X_k \right \rbrace に対して、 f(X)=X1 OR X2 OROR Xkf(X)=X_1\ \mathrm{OR}\ X_2\ \mathrm{OR} \dots \mathrm{OR}\ X_k と定義します。ただし、XX が空集合の時は f(X)=0f(X)=0 とします。

{1,2,3,,2N1}\lbrace 1,2,3, \dots , 2^N-1 \rbrace の部分集合 SS のうち次の条件を満たすものを良い集合と呼ぶことにします。

  • SS の任意の部分集合 UU, VV に対して、UVU \neq V ならば f(U)f(V)f(U) \neq f(V) が成り立つ。

{1,2,3,,2N1}\lbrace 1,2,3, \dots , 2^N-1 \rbrace の部分集合 SS22N12^{2^N-1} 個ありますが、そのうち良い集合の個数を求め、 998244353998244353 で割った余りを出力してください。


OR\mathrm{OR} とは(クリックで開く)

OR\mathrm{OR} はビットごとの論理和を表します。


入力

NN

  • 1N50001 \le N \le 5000
  • 入力は全て整数。
  • 出力

    良い集合の個数を 998244353998244353 で割った余りを出力してください。

    サンプル

    サンプル1
    入力
    2
    出力
    5

    条件を満たす SS{} \lbrace \rbrace, {1} \lbrace 1 \rbrace, {2} \lbrace 2 \rbrace, {3} \lbrace 3 \rbrace, {1,2} \lbrace 1,2 \rbrace の 5つです。

    サンプル2
    入力
    4
    出力
    98

    サンプル3
    入力
    100
    出力
    457732232

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