ABC134F順列奇数判定

問題文

私たちはの奇数判定を定義してみましょう順列$ P = \ {P_1、P_2、\ドット、P_N \} $の$ \ {1、2、\ドット、nは\} $は$ \ sum_は、{i = 1から} ^ { n}は| I - P_I | $。$ 10 ^ 9 + 7 $法として、{1、2、\ドット、N \}奇数判定$ K $の$ \ $の順列の数を見つけます。

制約

  • $ 1 \ nは\ル50 $
  • $ 1 \ K \ N ^ 2 $

観察①
$ \ sum_ {i = 1} ^ {n}はP_I - I = 0 $ $ \意味$ $ \ sum_ {i = 1} ^ {n}は| P_I - I |。$偶数是
进一步有$ \ sum_ {P_I> I} P_I - I = \ sum_ {P_I <I} I - P_I = \ dfrac {\ sum_ {i = 1} ^ {n}は| P_I - I |} {2} $

アプローチ

この問題の解決策を次のように参照http://kazune-lab.net/contest/2019/07/20/abc134/

円は代表正方形ボックス、平方数の右側のボックス番号の右側に、左に番号を表します。矢印は、ボックスに数字を示しています。数iが$$デジタルボックスとして$ P_I $。

観察②
$ | P_I - I | $ =コネクトデジタル$ I $ボックス$ P_I $線と$ N - 1つの$水平破線$ \ ell_1、\ ell_2、\ドット、\ ell_ {N-1} $ の交差点の数。

一例として、上記図、$ N = 5 $、4つの水平破線の合計。

だから私は$ $ $ $ a_jとリンクP_I $ $と$ I <P_I $それらのラインと水平の破線$ $ $ J交差点ell_j $ \の数を表します。
図例のように、条件を満足する三行がある上に(即ち、三行太字こと)、$ A_1 = 1、A_2 = 2、A_3 = 2、A_4 = 1 $。

観察③
$ \ sum_ {i = 1} ^ {N - 1} a_iを= \ sum_ {I <P_I} P_I -私は= \ dfrac {\ sum_ {i = 1} ^ {n}は| P_I - I |} {2} $

プロセスは、$ N $ステージ意思決定プロセスの下に見ボックス番号にすることができます。大まかに言えば、関係なく、デジタル数の$ I $どのように箱を処分するの最初の段階で、私は$と$ I $を$。
フェーズの完了がI $ $ 1、2、\ドット$の後、私は$ 最初は空$ S $のために回収ボックス、$ S $に言及数字のかが決定されるように、まだこれらの数字を。
$ I $のステージは、次の擬似コードで記述さ:

ボックスに$ \ {mathtt場合} $べき$ $ I $ I $の数
$ \ qquad $ $ $ I $ I $番号ボックスに
$ \ $ $ mathtt {}のelif S \ NE \ emptySet $
$ \ qquad \ mathtt {もし} $ I $ $ $ I $ボックスよりも少ない数に入れ
$ \ qquad \ qquad $ $ I $決定ボックスのどのとバッグ$入れI $
$ \ qquad \ mathtt }他の$ {
$ \ qquad \ qquad $ $ I $ $ S追加$
$ \ qquad \ mathtt} {I $ $でのボックスに$ $ $ Sの数を取る場合
$ \ qquad \ $選ばqquadボックスに番号と$ I $ $ $ Sから削除
$ \ $} {他のmathtt
$ \ $ $私は$ $ $ Sを追加qquad

三重$において(i、j、k)は、$示す状態初段$ I $の完了後:

  • $ J = | S | $(すなわち、$ 1から$ $ $ I $ Jこれらの数字は、ボックスの$ $ I $より数の大きい内に配置されなければなりません)
  • $ K:= \ sum_ {T = 1} ^ {I} A_tと$。

舞台は私がまだデジタルアレンジする方法を考えられていない$ $の後、最後に$$すると、$ J $は、私はOKでした具体的な数値を入れる方法の箱を$ $より数の大きいを置くために。

我々は最終状態$(nは、0、K / 2)$に興味を持っています。

注:唯一の置換にありません$ $示す物品上の画像nは水平の破線$ \最終状態のみ$であるため$を、ell_n(nは、0、\ CDOT)$相当し、次に$ A_N = 0が存在しなければなりません$。

例えば上記図配置プロセス、状態は順次である
$(0、0、0) \(1、1、1)〜\(2、2、3)に\(3、2、5)〜\(4 、1、6)\へ( 5、0、6)$

状態遷移

(I + 1、J 'K')と$(i、j、k)は、\ $

  1. $(I + 1、J、K + J)$:カセット番号に$ I + 1 $ $ I + 1 $
  2. $ J> 0 $、ボックス番号($ X \ルI $)への$ I + 1 $ $ X $:$(I + 1、J、K + J)$
  3. $ J> 0 $、ボックス番号にSの数$ $ $ I $:$(I + 1、J、K + J)$
  4. $ J> 0 $、$ I + 1 $ $ X $ボックス番号($ X \ルI $)に変換し、Sの数は$ $ $私は箱の中に番号を$:$(I + 1 、J - 1、K + J - 1)$
  5. $(I + 1、J + 1、K + J + 1)$:Sの数$ $ $ I +及びボックス番号は1 $ $ I + 1 $よりも大きいです

リファレンス

おすすめ

転載: www.cnblogs.com/Patt/p/11763353.html