atcoder#ARC068D. [ARC068F] Solitaire

[ARC068F] Solitaire

题目描述

すぬけくんは N N 枚のカードとデック(両端キュー)で遊ぶことにしました。 カードには 1,2,3...,N 1,2,3...,N の数が書かれており、デックははじめ空です。

すぬけくんは 1,2,3,...,N 1,2,3,...,N が書かれたカードをこの順に、それぞれデックの先頭あるいは末尾に挿入します。 その後、すぬけくんはデックの先頭あるいは末尾からカードを取り出して食べる、という操作を N N 回行います。

食べたカードに書かれていた数を食べた順番に並べて数列を作ることにします。このようにして作ることが可能な数列のうち、K K 番目の要素が 1 1 であるようなものの個数を 109 + 7 10^{9}\ +\ 7 で割った余りを求めなさい。

输入格式

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

N N K K

输出格式

答えを出力せよ。

题目大意

将1-n顺序加入双端队列(每次可加头可加尾),再删除(每次可删头可删尾),求有多少种删除序列,使得1是第k个被删的。

2 1
1
17 2
262144
2000 1000
674286644

提示

制約

  • 1  K  N  2,000 1\ ≦\ K\ ≦\ N\ ≦\ 2{,}000

Sample Explanation 1

条件を満たす並びは 1,2 1,2 1 1 通りです。例えば以下のようにして、この並びを構成することが可能です。 - 1,2 1,2 のどちらもカードの山の一番下に挿入する - カードの山の一番上からカードを取り出して食べることを 2 2 回行う