#P6963. [NEERC 2017] Laminar Family

[NEERC 2017] Laminar Family

Description

在研究组合优化时,Lucas 遇到了“层状集合族”的概念。对于某个集合 Ω\Omega 的子集族 FF,如果它不包含空集,并且对于任何两个不同的集合 A,BFA, B \in F,要么 ABA \subset B,要么 BAB \subset A,要么 AB=A \cap B = \emptyset,则称其为层状集合族。

作为一名经验丰富的题目设计者,Lucas 总是尝试将他获得的每一项新知识应用于编程竞赛题目。他的科学兴趣领域包括识别问题,这些问题通常听起来像是“给定某种奇怪的组合性质,检查给定结构是否满足它”。

Lucas 认为完美的编程竞赛题目应该包含一个仙人掌树。在尝试将层状集合和树结合成一个识别问题时,他最终提出了以下问题:给定一个有 nn 个顶点的无向树和一个集合族 F={F1,,Fk}F = \{F_{1}, \ldots, F_{k}\},其中 FiF_{i} 包含树中某两个顶点 aia_{i}bib_{i} 之间简单路径上的所有顶点,检查集合族 FF 是否为层状集合族。注意,在这种情况下 Ω=V\Omega = V,并且每个 FiVF_{i} \subseteq V

如你所见,Lucas 成功地将这个问题建议给了编程竞赛。现在轮到你来解决它了。

Input Format

输入的第一行包含两个整数 nnf(1n,f100000)f (1 \le n, f \le 100000) —— 树中的顶点数和集合族 FF 中的元素数。

接下来的 n1n-1 行描述了树的结构。在第 ii 行有两个整数 uiu_{i}vi(1ui,vin,uieqvi)v_{i} (1 \le u_{i}, v_{i} \le n, u_{i} eq v_{i}) —— 由树的第 ii 条边连接的顶点的索引。

接下来的 ff 行描述了构成集合族 FF 的集合。在第 ii 行有两个整数 aia_{i}bi(1ai,bin)b_{i} (1 \le a_{i}, b_{i} \le n),使得 FiF_{i} 包含树中顶点 aia_{i}bib_{i} 之间简单路径上的所有顶点(包括 aia_{i}bib_{i})。

Output Format

输出一个单词 YesNo,取决于给定的集合族是否为层状集合族。

4 2
1 2
2 3
2 4
1 2
4 2

No

6 5
1 2
2 3
3 4
5 6
5 2
2 1
6 6
1 4
3 4
4 1

Yes

Hint

时间限制:2 秒,内存限制:512 MB。

题面翻译由 ChatGPT-4o 提供。