codeforces#P1958F. Narrow Paths
Narrow Paths
Description
Monocarp is wandering through a matrix consisting of $2$ rows and $n$ columns. Let's denote the cell in the $i$-th row and $j$-th column as $(i, j)$. Monocarp starts at cell $(1, 1)$ and wants to reach cell $(2, n)$.
In one move, Monocarp can move in one of two directions:
- right — from cell $(i, j)$ to cell $(i, j + 1)$;
- down — from cell $(i, j)$ to cell $(i + 1, j)$.
Monocarp can't go outside the matrix.
Polycarp wants to prevent Monocarp from freely wandering through the matrix. To do this, he wants to choose exactly $k$ different cells in the matrix and block them. He cannot choose cells $(1, 1)$ and $(2, n)$.
For each $i$ from $0$ to $n$, Polycarp wants to know how many ways he can block exactly $k$ cells, so that Monocarp has exactly $i$ different paths from $(1, 1)$ to $(2, n)$. Two paths are considered different if there exists a cell that Monocarp visits in one path but not in the other.
As the number of ways can be quite large, output it modulo $10^9 + 7$.
The only line contains two integers $n$ and $k$ ($2 \le n \le 2 \cdot 10^5$; $2 \le k \le 2 \cdot n - 2$) — the number of columns in the matrix and the number of cells Polycarp wants to block.
Output $n + 1$ integers: for each $i$ from $0$ to $n$, the number of ways to block exactly $k$ cells, so that Monocarp has exactly $i$ different paths from $(1, 1)$ to $(2, n)$. Output all answers modulo $10^9 + 7$.
Input
The only line contains two integers $n$ and $k$ ($2 \le n \le 2 \cdot 10^5$; $2 \le k \le 2 \cdot n - 2$) — the number of columns in the matrix and the number of cells Polycarp wants to block.
Output
Output $n + 1$ integers: for each $i$ from $0$ to $n$, the number of ways to block exactly $k$ cells, so that Monocarp has exactly $i$ different paths from $(1, 1)$ to $(2, n)$. Output all answers modulo $10^9 + 7$.
2 2
10 2
10 5
22 10
1 0 0
45 24 21 18 15 12 9 6 3 0 0
7812 420 210 90 30 6 0 0 0 0 0
467563090 1847560 1016158 534820 267410 125840 55055 22022 7865 2420 605 110 11 0 0 0 0 0 0 0 0 0 0