Tree Patrolling

AtCoder
IDabc207_f
Time3000ms
Memory256MB
Difficulty
You have a tree with $N$ vertices, numbered $1$ through $N$. The $i$\-th edge connects Vertex $u_i$ and Vertex $v_i$. You will choose some vertices (possibly none) and place a takahashi in each of them to guard the tree. A takahashi placed at Vertex $x$ will guard $x$ itself and the vertices directly connected to $x$ by an edge. There are $2^N$ ways to choose vertices for placing takahashi. In how many of them will there be exactly $K$ vertices guarded by one or more takahashi? Find this count and print it modulo $(10^9+7)$ for each $K=0,1,\ldots,N$. ## Constraints * $1 \leq N \leq 2000$ * $1 \leq u_i \lt v_i \leq N$ * The given graph is a tree. * All values in input are integers. ## Input Input is given from Standard Input in the following format: $N$ $u_1$ $v_1$ $u_2$ $v_2$ $\hspace{0.6cm}\vdots$ $u_{N-1}$ $v_{N-1}$ [samples]
Samples
Input #1
3
1 3
1 2
Output #1
1
0
2
5

There are eight ways to choose vertices for placing takahashi, as follows:

*   Place a takahashi at no vertices, guarding no vertices.
*   Place a takahashi at Vertex $1$, guarding all vertices.
*   Place a takahashi at Vertex $2$, guarding Vertices $1$ and $2$.
*   Place a takahashi at Vertex $3$, guarding Vertices $1$ and $3$.
*   Place a takahashi at Vertices $1$ and $2$, guarding all vertices.
*   Place a takahashi at Vertices $1$ and $3$, guarding all vertices.
*   Place a takahashi at Vertices $2$ and $3$, guarding all vertices.
*   Place a takahashi at all vertices, guarding all vertices.
Input #2
5
1 3
4 5
1 5
2 3
Output #2
1
0
2
5
7
17
Input #3
10
6 10
1 8
2 7
5 6
3 8
3 4
7 10
4 9
2 8
Output #3
1
0
3
8
15
32
68
110
196
266
325
API Response (JSON)
{
  "problem": {
    "name": "Tree Patrolling",
    "description": {
      "content": "You have a tree with $N$ vertices, numbered $1$ through $N$. The $i$\\-th edge connects Vertex $u_i$ and Vertex $v_i$. You will choose some vertices (possibly none) and place a takahashi in each of the",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 3000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc207_f"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You have a tree with $N$ vertices, numbered $1$ through $N$. The $i$\\-th edge connects Vertex $u_i$ and Vertex $v_i$.\nYou will choose some vertices (possibly none) and place a takahashi in each of the...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments