#x1017. CF1097G Vladislav and a Great Legend

CF1097G Vladislav and a Great Legend

Vladislav and a Great Legend

题面翻译

题目描述

给你一棵有nn个节点的树TTnn个节点编号为11nn

对于TT中每个非空的顶点的集合XX,令f(X)f(X)为包含XX中每个节点的最小连通子树的最小边数,即虚树的大小。

再给你一个整数kk。你需要计算对于每一个顶点的集合XX(f(X))k(f(X))^k之和,即:

$$\sum_{X\subseteq\{1,2,\dots,n\},X\neq\varnothing}(f(X))^k $$

输入输出格式

输入格式

第一行两个整数nnk(2n105,1k200)k(2\leq n\leq 10^5,1\leq k\leq 200),表示树的节点个数和f(X)f(X)的次数

接下来n1n-1行,每一行包含两个正整数aia_ibi(1ai,bin)b_i(1\leq a_i,b_i\leq n),表示TT中的每一条边。

数据保证一定是一棵树。

输出格式

一行一个整数,表示所求的答案对109+710^9+7取模后的值。

题目描述

A great legend used to be here, but some troll hacked Codeforces and erased it. Too bad for us, but in the troll society he earned a title of an ultimate-greatest-over troll. At least for them, it's something good. And maybe a formal statement will be even better for us?

You are given a tree T T with n n vertices numbered from 1 1 to n n . For every non-empty subset X X of vertices of T T , let f(X) f(X) be the minimum number of edges in the smallest connected subtree of T T which contains every vertex from X X .

You're also given an integer k k . You need to compute the sum of (f(X))k (f(X))^k among all non-empty subsets of vertices, that is:

$$\sum\limits_{X \subseteq \{1, 2,\: \dots \:, n\},\, X \neq \varnothing} (f(X))^k. $$

输入格式

The first line contains two integers n n and k k ( 2n105 2 \leq n \leq 10^5 , 1k200 1 \leq k \leq 200 ) — the size of the tree and the exponent in the sum above.

Each of the following n1 n - 1 lines contains two integers ai a_i and bi b_i ( 1ai,bin 1 \leq a_i,b_i \leq n ) — the indices of the vertices connected by the corresponding edge.

It is guaranteed, that the edges form a tree.

输出格式

Print a single integer — the requested sum modulo 109+7 10^9 + 7 .

样例 #1

样例输入 #1

4 1
1 2
2 3
2 4

样例输出 #1

21

样例 #2

样例输入 #2

4 2
1 2
2 3
2 4

样例输出 #2

45

样例 #3

样例输入 #3

5 3
1 2
2 3
3 4
4 5

样例输出 #3

780

提示

In the first two examples, the values of f f are as follows:

f({1})=0 f(\{1\}) = 0

f({2})=0 f(\{2\}) = 0

f({1,2})=1 f(\{1, 2\}) = 1

f({3})=0 f(\{3\}) = 0

f({1,3})=2 f(\{1, 3\}) = 2

f({2,3})=1 f(\{2, 3\}) = 1

f({1,2,3})=2 f(\{1, 2, 3\}) = 2

f({4})=0 f(\{4\}) = 0

f({1,4})=2 f(\{1, 4\}) = 2

f({2,4})=1 f(\{2, 4\}) = 1

f({1,2,4})=2 f(\{1, 2, 4\}) = 2

f({3,4})=2 f(\{3, 4\}) = 2

f({1,3,4})=3 f(\{1, 3, 4\}) = 3

f({2,3,4})=2 f(\{2, 3, 4\}) = 2

f({1,2,3,4})=3 f(\{1, 2, 3, 4\}) = 3