무방향 트리와 f개의 정점 집합이 주어지고 각 집합은 단순 경로일 때, 이 경로 집합들이 라미나르 가족인지 판정한다.
어려움9트리DFS누적 합정렬아직 제출이 없습니다시간 제한2초메모리 제한512 MB조합 최적화를 공부하던 루카스는 라미나 집합족(laminar family)이라는 개념을 알게 되었다. 집합 Ω의 부분집합족 F가 라미나족이라는 것은, F가 공집합을 포함하지 않고 서로 다른 임의의 두 집합 A,B∈F에 대해 A⊂B, B⊂A, A∩B=∅ 중 하나가 성립한다는 뜻이다.
루카스는 새로 배운 내용을 곧바로 대회 문제로 바꾸는 사람이다. 주어진 구조가 어떤 조합적 성질을 만족하는지 판정하는 문제를 좋아하고, 좋은 문제에는 트리가 들어가야 한다고 믿는다. 그래서 두 가지를 한데 묶어 다음 문제를 만들었다.
정점이 n개인 무향 트리와 집합족 F={F1,…,Ff}가 주어진다. Fi는 트리에서 두 정점 ai와 bi를 잇는 단순 경로 위의 모든 정점으로 이루어진다. 즉 Ω=V이고 모든 i에 대해 Fi⊆V이다. 이 집합족 F가 라미나족인지 판정하라.
같은 집합이 여러 번 주어지기도 한다. 라미나 조건은 서로 다른 두 집합에만 걸리므로, 똑같은 집합이 반복되어도 조건은 깨지지 않는다.
첫째 줄에 트리의 정점 수 n과 집합족 F의 원소 개수 f가 주어진다 (1≤n,f≤100000).
다음 n−1개 줄에는 트리의 간선이 주어진다. i번째 줄에는 i번 간선이 잇는 두 정점 ui와 vi가 주어진다 (1≤ui,vi≤n, ui=vi).
다음 f개 줄에는 집합족을 이루는 집합이 주어진다. i번째 줄에는 두 정수 ai와 bi가 주어지며 (1≤ai,bi≤n), Fi는 정점 ai와 bi를 잇는 단순 경로 위의 모든 정점으로 이루어진다. 양 끝점 ai와 bi도 포함한다.
주어진 집합족이 라미나족이면 Yes를, 아니면 No를 한 줄에 출력한다.