#SZSY1019. 路径片段计数
路径片段计数
题目描述
有一棵包含 个点的树,点的编号为 。另给出一个 到 的排列 。
对于排列中的一个非空连续片段 ,取出这些点以及原树中两端都在这些点内的边,得到这个点集在原树上的诱导子图。
如果该诱导子图连通,且其中每个点的度数都不超过 ,那么它是一条简单路径,称这个连续片段为合法片段。特别地,只包含一个点的片段也合法。
求合法片段的数量。
输入格式
第一行一个整数 。
接下来 行,每行两个整数 ,表示树中有一条连接点 与点 的边。
最后一行 个整数 ,表示给定的排列。
输出格式
输出一个整数,表示合法片段的数量。
数据范围
对于所有测试数据:
- ;
- 输入的 条边构成一棵树;
- 是 到 的一个排列。
子任务
| 编号 | 分值 | 缩减范围 | 附加限制 |
|---|---|---|---|
| 1–7 | 35 | — | |
| 8–9 | 10 | — | 对所有 ,树中都有边 。 |
| 10–12 | 15 | 树中每个点的度数都不超过 。 | |
| 13–16 | 20 | 树中每个点的度数都不超过 。 | |
| 17–20 | — |
样例 1
5
1 2
1 3
1 4
4 5
2 1 3 4 5
11
样例 1 说明
长度为 的 个片段都合法;长度为 、、 的合法片段分别有 、、 个。完整片段中点 的诱导度数为 ,因此不合法。总数为 。