该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
区间完美匹配
时间限制:2 秒。内存限制:512 MB。
题目描述
给定一棵有 n 个顶点的树,顶点编号为 1,2,…,n,顶点 v 的权值为整数 av。
给定 q 个询问,每个询问包含两个整数 L,R。删除所有满足 L≤av≤R 的顶点,以及与这些顶点相连的边,判断剩余森林是否存在完美匹配。
匹配是一个边集,其中任意两条边没有公共端点。如果剩余的每个顶点都恰好属于一条匹配边,则称其为完美匹配。约定空森林存在完美匹配。
各个询问相互独立,每次都是在原树基础上删除满足 L≤av≤R 的顶点。
输入格式
输入文件:forest.in。
第一行包含两个整数 n,q。
第二行包含 n 个整数 a1,a2,…,an。
接下来 n−1 行,每行包含两个整数 u,v,表示树的一条边。
接下来 q 行,每行包含两个整数 L,R,表示一个询问。
输出格式
输出文件:forest.out。
对每个询问,输出一行。如果剩余森林存在完美匹配,输出 Yes;否则输出 No。
样例
输入:
4 4
1 2 3 4
1 2
2 3
3 4
2 3
1 2
1 4
5 5
输出:
No
Yes
Yes
Yes
样例解释
第一个询问留下两个孤立顶点,不存在完美匹配。第二个询问留下边 {3,4},这条边构成完美匹配。第三个询问删除全部顶点,按约定答案为 Yes。第四个询问没有删除顶点,可以选择边 {1,2} 和 {3,4}。
附加样例 forest2.in/.ans、forest3.in/.ans、forest4.in/.ans、forest5.in/.ans 分别满足测试点 3∼6、10∼12、13∼14、17∼20 的限制。
数据范围
| 测试点编号 |
n≤ |
q≤ |
特殊性质 |
| 1—2 |
20 |
无 |
| 3—6 |
2000 |
| 7—9 |
105 |
20 |
| 10—12 |
105 |
A |
| 13—14 |
B |
| 15—16 |
2×104 |
无 |
| 17—20 |
105 |
对于所有测试点,1≤n,q≤105,−109≤av,L,R≤109,L≤R,1≤u,v≤n。输入的 n−1 条边构成一棵树,所有输入数值均为整数。
特殊性质 A:存在一个顶点与其他所有顶点直接相连。
特殊性质 B:对于每个顶点 v,都有 av∈{0,1}。