Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:2 s 空间限制:512 MB

#4584. 数树上块

Statistics

题目描述

给定一棵含有 $n$ 个节点,编号为 $1\sim n$ 的无边权无根树和一个常数 $k$,求出这棵树的直径不超过 $k$ 的非空导出子图数目。

即,需要选出至少一个节点,满足任意两个被选中节点路径上的所有点也必须被选中,且它们的距离不超过 $k$,需要求出选点的方案数。

两点之间的距离定义为两点简单路径上的边数,两个方案不同当且仅当存在某个点,在一个方案中被选中,而在另一个方案中未被选中。

只需要输出答案对 $998244353$ 取模的结果。

输入格式

包含 $n$ 行。

第 $1$ 行输入两个正整数 $n,k$,意义见题目描述。

第 $2\sim n$ 行,每行输入两个正整数 $u,v$,表示节点 $u,v$ 之间有一条边。

输出格式

包含一行,仅一个自然数,表示符合条件的方案数对 $998244353$ 取模的结果。

样例

input

5 2
1 2
1 3
3 4
3 5

output

14

数据范围与提示

共 $20$ 个测试点。

对于测试点 $1\sim 4$,满足 $n\le 15$;

对于测试点 $5\sim 10$,满足 $n\le 2\times 10^3$;

对于测试点 $11\sim 12$,满足 $k=n-1$;

对于测试点 $13\sim 20$,满足 $n\le 5\times 10^5$;

对于所有数据,满足 $1\le k< n\le 5\times 10^5$,保证输入会给出一棵无根树。