Decreasing Subsequence

AtCoder
IDarc138_e
Time2000ms
Memory256MB
Difficulty
You are given integers $N$ and $K$. Let us call an integer sequence $A=(A_1,A_2,\cdots,A_N)$ **good** when it satisfies all of the conditions below. * $0 \leq A_i \leq i$ ($1 \leq i \leq N$) * For every integer $v=1,2,\cdots,N$, there is at most one index $i$ such that $A_i=v$. Find the sum, modulo $(10^9+7)$, of the answers to the following problem for all good sequences $A$. * Find the number of length-$K$ (not necessarily contiguous) subsequences of $A$ consisting of positive integers that are decreasing. In other words, find the number of sequences of indices $1 \leq i_1 < i_2 < \cdots < i_K \leq N$ such that $A_{i_1}>A_{i_2}>\cdots>A_{i_K} \geq 1$. ## Constraints * $3 \leq N \leq 5000$ * $2 \leq K$ * $2K-1 \leq N$ * All values in input are integers. ## Input Input is given from Standard Input in the following format: $N$ $K$ [samples]
Samples
Input #1
3 2
Output #1
1

For example, $A=(0,2,1)$ is a good sequence, with one subsequence satisfying the condition. There are other good sequences such as $A=(0,1,0),(1,2,3),(0,0,0)$, but none of them has subsequences satisfying the condition. In the end, no good sequence other than $A=(0,2,1)$ has subsequences satisfying the condition, so the answer is $1$.
Input #2
6 2
Output #2
660
Input #3
10 3
Output #3
242595
Input #4
100 10
Output #4
495811864
API Response (JSON)
{
  "problem": {
    "name": "Decreasing Subsequence",
    "description": {
      "content": "You are given integers $N$ and $K$. Let us call an integer sequence $A=(A_1,A_2,\\cdots,A_N)$ **good** when it satisfies all of the conditions below. *   $0 \\leq A_i \\leq i$ ($1 \\leq i \\leq N$) *   Fo",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc138_e"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given integers $N$ and $K$. Let us call an integer sequence $A=(A_1,A_2,\\cdots,A_N)$ **good** when it satisfies all of the conditions below.\n\n*   $0 \\leq A_i \\leq i$ ($1 \\leq i \\leq N$)\n*   Fo...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments