P16063 [CSPro 24] 极差路径

题目背景

洛谷的测试数据仅供民间交流使用,非官方测试数据。官方评测链接:。 众所周知,西西艾弗岛是一个旅游胜地,但是由于兴建机场,西西艾弗岛最近的财务状况有点紧张。

题目描述

为了从游客手中获取更多的经济利润,岛上仅有的三个小学生小 C、小 S 和小 P 建立了 $n$ 个景点,编号依次从 $1$ 到 $n$。编号为 $i$ 的景点是第 $i$ 个被修建的。由于越到后期经费越是不足,所以编号更大的景点通常更令人不满意——方便起见,假定编号为 $i$ 的景点的令人不满意程度是 $i$。 有些景点之间修有双向可通行的道路,但是出于减少经费的考虑,他们只修了能使得所有景点连通的最少数量的道路,从而这些景点和其间的道路形成一棵树的结构。 对于每个游客而言,由于只修了 $n - 1$ 条道路,所以他只能沿着树上的边参观,并且由于他不可能重复参观一个景点,所以他的游览路径一定是树上的一条简单路径。 现在西西艾弗岛希望制定一些推荐游览路径,但并非所有树上的路径都是合意的,因为这条路径上的景点令人不满意程度的极差可能过大,使游客产生这些景点质量不稳定的错觉。由于最开始的景点和最后的景点令人印象比较深刻,所以游客通常会把游览路径上的景点和这两个景点作比较。因此,最令人不满意的景点不能比这两个景点差太多,最优秀的景点也不能比这两个景点优秀太多。 具体来说,一条从 $x$ 到 $y$ 的游览路径(记作 $(x, y)$)是推荐的,当且仅当下式成立: $$ \min\{x, y\} - k_1 \leq \min P(x, y) \leq \max P(x, y) \leq \max\{x, y\} + k_2 $$ 其中 $P(x, y)$ 表示一条从 $x$ 出发到达 $y$ 的简单路径上的点的令人不满意程度的数值的集合(包括 $x$ 和 $y$,也就是 $x$ 到 $y$ 的简单路径上的点的编号的集合),$\min S$ 和 $\max S$ 分别表示集合 $S$ 中的最小和最大值,$k_1, k_2$ 是西西艾弗岛经过数次尝试后选取的两个给定的参数,保证 $k_1, k_2 \geq 0$。 特别的,容易验证 $x = y$ 时 $(x, y)$ 总是推荐的。 现在西西艾弗岛想知道,一共有多少树上的简单路径作为游览路径是被推荐的?这里我们认为 $(x, y)$ 和 $(y, x)$ 是同一条路径。

输入格式

从标准输入读入数据。 第一行输入三个非负整数 $n, k_1, k_2$。 接下来 $n - 1$ 行,每行两个正整数 $x, y$ 表示树上的一条边。

输出格式

输出到标准输出。 输出一行一个非负整数表示答案。

说明/提示

### 样例 1 解释 容易验证 $(1, 1), (1, 4), (1, 5), (1, 3), (2, 2), (2, 4), (2, 5), (2, 3), (3, 3), (4, 4), (4, 5), (5, 5)$ 都是推荐的游览路径,因此答案是 $12$。 ### 样例 2 见题目录下的 `2.in` 与 `2.ans`。 ### 样例 3 见题目录下的 `3.in` 与 `3.ans`。 ### 样例 4 见题目录下的 `4.in` 与 `4.ans`。 ### 样例 5 见题目录下的 `5.in` 与 `5.ans`。 ### 样例 6 见题目录下的 `6.in` 与 `6.ans`。 ### 样例 7 见题目录下的 `7.in` 与 `7.ans`。 ### 样例 8 见题目录下的 `8.in` 与 `8.ans`。 ### 子任务 | 测试点 | $n \leq$ | $k_1$ | $k_2$ | 树的形态 | 堆性质 | |:------:|:--------:|:-----:|:-----:|:--------:|:------:| | 1 | $5,000$ | $\leq n$ | $\leq n$ | $A_3$ | 无 | | 2 | ^ | ^ | ^ | ^ | ^ | | 3 | ^ | ^ | ^ | ^ | ^ | | 4 | $5 \times 10^5$ | $= 0$ | $= 0$ | $A_1$ | 有 | | 5 | ^ | ^ | ^ | ^ | 无 | | 6 | ^ | $\leq n$ | ^ | ^ | 有 | | 7 | ^ | ^ | ^ | ^ | 无 | | 8 | ^ | ^ | $\leq n$ | ^ | 有 | | 9 | ^ | ^ | ^ | ^ | 无 | | 10 | ^ | $= 0$ | $= 0$ | $A_2$ | ^ | | 11 | ^ | $\leq n$ | ^ | ^ | ^ | | 12 | ^ | ^ | $\leq n$ | ^ | ^ | | 13 | ^ | $= 0$ | $= 0$ | $A_3$ | 有 | | 14 | ^ | ^ | ^ | ^ | 无 | | 15 | ^ | ^ | ^ | ^ | ^ | | 16 | ^ | ^ | ^ | ^ | ^ | | 17 | ^ | $\leq n$ | ^ | ^ | 有 | | 18 | ^ | ^ | ^ | ^ | 无 | | 19 | ^ | ^ | ^ | ^ | ^ | | 20 | ^ | ^ | ^ | ^ | ^ | | 21 | ^ | ^ | $\leq n$ | ^ | 有 | | 22 | ^ | ^ | ^ | ^ | ^ | | 23 | ^ | ^ | ^ | ^ | 无 | | 24 | ^ | ^ | ^ | ^ | ^ | | 25 | ^ | ^ | ^ | ^ | ^ | 对于 $100\%$ 的数据,$1\le n\le 5\times 10^5,0\le k1,k2\le n$,保证输入的 $n−1$ 条边一定构成一棵树。 树的形态: - $A1$:树是一条链; - $A2$:存在一个度数为 $n−1$ 的点; - $A3$:树的形态无特殊性质。 堆性质:若取编号为 $1$ 的点为根,则除 $1$ 号点外,每个点的编号都比其父节点的编号大。 请注意答案可能的取值范围。