問題一覧 > 通常問題

No.770 Median Sequence

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 11
作問者 : Pulmn
3 ProblemId : 2475 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2018-12-17 22:57:03

問題文

次の条件を満たす長さ N の整数列 A の通り数を求めてください。ただし、この値は非常に大きくなる場合があるので 109+7 で割った時の余りを出力してください。

条件:以下の式を満たすような長さ N1 以上 N 以下の整数列 B が存在する。ただし、med(x,y,z)3 つの値 {x,y,z} の中央値を表す。

A1=med(1,B1,N)
A2=med(med(1,B1,N1),B2,N)
A3=med(med(med(1,B1,N2),B2,N1),B3,N)
 
Ai=med(med(med(med(med(med(1,B1,Ni+1),B2,Ni+2),,Bj,Ni+j)),Bi1,N1),Bi,N)
 
AN=med(med(med(med(med(med(1,B1,1),B2,2),,Bj,j)),BN1,N1),BN,N)

※サンプルを参考にしてください

入力

N

1N3,000

出力

条件を満たす整数列 A の通り数を 109+7 で割った時の余りを出力してください。最後に改行してください。

サンプル

サンプル1
入力
6
出力
1448

例えば A=(1,2,6,5,4,6)B=(1,2,6,3,1,6) とすると、次の式を満たすので条件を満たします。
A1=med(1,B1,6)
A2=med(med(1,B1,5),B2,6)
A3=med(med(med(1,B1,4),B2,5),B3,6)
A4=med(med(med(med(1,B1,3),B2,4),B3,5),B4,6)
A5=med(med(med(med(med(1,B1,2),B2,3),B3,4),B4,5),B5,6)
A6=med(med(med(med(med(med(1,B1,1),B2,2),B3,3),B4,4),B5,5),B6,6)

サンプル2
入力
1
出力
1

サンプル3
入力
100
出力
328638438

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