AT_abc207_f [ABC207F] Tree Patrolling

题目描述

有一棵包含 $N$ 个顶点的树,每个顶点编号为 $1$ 到 $N$。第 $i$ 条边连接了顶点 $u_i$ 和顶点 $v_i$,且为双向边。 你作为这棵树的主人,打算在若干个顶点(可以为 $0$ 个)上选择放置高桥君,让他来守卫这棵树。被放置在顶点 $x$ 的高桥君会守卫顶点 $x$ 以及所有与 $x$ 直接通过边相连的顶点。 选择放置高桥君的顶点的方式共有 $2^N$ 种。在这些方式中,有多少种方式使得被至少一位高桥君守卫的顶点恰好有 $K$ 个? 请对于 $K=0,1,\ldots,N$,分别输出答案,并对 $10^9+7$ 取模。

输入格式

输入以如下格式从标准输入读入。 > $N$ > $u_1$ $v_1$ > $u_2$ $v_2$ > $\hspace{0.6cm}\vdots$ > $u_{N-1}$ $v_{N-1}$

输出格式

请输出 $N+1$ 行。第 $i$ 行输出当 $K=i-1$ 时的答案。

说明/提示

### 限制条件 - $1 \leq N \leq 2000$ - $1 \leq u_i < v_i \leq N$ - 给定的图为一棵树 - 输入均为整数 ### 样例说明 1 放置高桥君的顶点选择方式共有如下 $8$ 种: - 不在任何顶点放置高桥君。此时所有顶点都未被守卫。 - 只在顶点 $1$ 放置高桥君。此时所有顶点都被守卫。 - 只在顶点 $2$ 放置高桥君。此时顶点 $1$ 和 $2$ 共 $2$ 个顶点被守卫。 - 只在顶点 $3$ 放置高桥君。此时顶点 $1$ 和 $3$ 共 $2$ 个顶点被守卫。 - 在顶点 $1$ 和顶点 $2$ 放置高桥君。此时所有顶点都被守卫。 - 在顶点 $1$ 和顶点 $3$ 放置高桥君。此时所有顶点都被守卫。 - 在顶点 $2$ 和顶点 $3$ 放置高桥君。此时所有顶点都被守卫。 - 在所有顶点都放置高桥君。此时所有顶点都被守卫。 由 ChatGPT 4.1 翻译