题目描述
老师让heaplax写作业。
heaplax不喜欢写作业,导致他写作业时做了一个梦。
heaplax梦到他来到了树之国。树之国有个$n$城市和$n - 1$条双向道路,任意两个城市都能通过这些道路相连。
由于道路老化,有些道路可能不能通行。树之国的通行度定义为每个联通块大小的平方和。
heaplax想知道,对于每个$i(0 \le i \le n)$,树之国中恰好条道路无法通行时树之国的通行度的期望值,对$10^9 + 7$取模。
若答案为$\frac{p}{q}$,你需要输出$ans$满足$p \equiv ans * q (mod \ 10^9 + 7)$。
输入输出格式
输入格式:
第一行一个整数$n$,表示树之国的城市数。
下面$n - 1$行每行两个整数$u, v$,表示$u, v$之间有一条边。
输出格式:
输出一行$n$个整数,第$i$个整数表示树之国中恰好$i - 1$条道路无法通行时树之国的通行度的期望值对$10^9 + 7$取模后的值。
联通块大小的平方可看作$\sum\limits_{u \in S}\sum\limits_{v \in S} 1$,那么只需统计有序点对$(u, v)$在同一联通块的方案数即可。
因为若一个点对存在那么它们之间经过的边也必须存在,所以它们的存在性与点对距离有关。
用点分治求出$Sum_i$(树上距离为$i$的点对数),子树合并时用$MTT$,那么$ans_i = \sum\limits_j Sum_j * C_{n - 1 - j}^i$,即除了当前点对上的$j$条边其余边任选$i$条删去