#P9161. Trees

    ID: 8289 Type: RemoteJudge 2000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>动态规划,dpO2优化树形 dp

Trees

题目背景

ZHY 有很多树,每个树上都有很多点,每个点上都有一个数,但他忘记了每个点上写的数是什么了。

题目描述

ZHY 拥有 mm 棵树,每棵树形态相同,且均有 nn 个点。定义 (i,j)(i,j) 是第 ii 棵树上的第 jj 个点,你需要为每个点 (i,j)(i,j) 赋一个值 a(i,j)a_{(i,j)},且满足以下条件:

  • 对于 i[1,m],j[1,n]\forall i \in [1,m],\forall j \in [1,n],有 a(i,j){0,1}a_{(i,j)}\in\{0,1\}

  • 对于 i[1,n]\forall i \in [1,n],有 j=1ma(j,i)1\sum_{j=1}^m a_{(j,i)}\le 1

  • 对于任意的一条边 (u,v)(u,v)i[1,m]i \in [1,m],有 a(i,u)+a(i,v)1a_{(i,u)}+a_{(i,v)}\le 1

请你计算有多少种赋值方式,对 109+710^9+7 取模。注意这 mm 棵树是有序的。

输入格式

第一行两个正整数 n,mn,m

接下来 n1n-1 行,每行两个正整数 u,vu,v,表示这 mm 棵树中每棵树都有一条从 uuvv 的无向边。保证数据可以构成一棵树。

输出格式

输出一行表示答案。

3 1
1 2
2 3
5
5 2
1 2
1 3
2 4
2 5
103

提示

本题使用捆绑数据。

对于所有的数据,1n1061 \le n \le 10^61m1091 \le m \le 10^9

  • Subtask 0(10 pts):n,m4n,m \le 4
  • Subtask 1(30 pts):n,m103n,m \le 10^3
  • Subtask 2(15 pts):n103n \le 10^3
  • Subtask 3(25 pts):m=1m=1
  • Subtask 4(20 pts):无特殊限制。