아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

라미나 집합족

시간 제한2초메모리 제한512 MB

요약
무방향 트리와 f개의 정점 집합이 주어지고 각 집합은 단순 경로일 때, 이 경로 집합들이 라미나르 가족인지 판정한다.
난이도

어려움10점 중 9점

유형
트리, DFS, 누적 합, 정렬
정답자
아직 제출이 없습니다

문제

조합 최적화를 공부하던 루카스는 라미나 집합족(laminar family)이라는 개념을 알게 되었다. 집합 Ω\Omega의 부분집합족 FF가 라미나족이라는 것은, FF가 공집합을 포함하지 않고 서로 다른 임의의 두 집합 A,B∈FA, B \in F에 대해 A⊂BA \subset B, B⊂AB \subset A, A∩B=∅A \cap B = \varnothing 중 하나가 성립한다는 뜻이다.

루카스는 새로 배운 내용을 곧바로 대회 문제로 바꾸는 사람이다. 주어진 구조가 어떤 조합적 성질을 만족하는지 판정하는 문제를 좋아하고, 좋은 문제에는 트리가 들어가야 한다고 믿는다. 그래서 두 가지를 한데 묶어 다음 문제를 만들었다.

정점이 nn개인 무향 트리와 집합족 F={F1,…,Ff}F = \{F_1, \dots, F_f\}가 주어진다. FiF_i는 트리에서 두 정점 aia_i와 bib_i를 잇는 단순 경로 위의 모든 정점으로 이루어진다. 즉 Ω=V\Omega = V이고 모든 ii에 대해 Fi⊆VF_i \subseteq V이다. 이 집합족 FF가 라미나족인지 판정하라.

같은 집합이 여러 번 주어지기도 한다. 라미나 조건은 서로 다른 두 집합에만 걸리므로, 똑같은 집합이 반복되어도 조건은 깨지지 않는다.

입력

첫째 줄에 트리의 정점 수 nn과 집합족 FF의 원소 개수 ff가 주어진다 (1≤n,f≤100 0001 \le n, f \le 100\,000).

다음 n−1n-1개 줄에는 트리의 간선이 주어진다. ii번째 줄에는 ii번 간선이 잇는 두 정점 uiu_i와 viv_i가 주어진다 (1≤ui,vi≤n1 \le u_i, v_i \le n, ui≠viu_i \ne v_i).

다음 ff개 줄에는 집합족을 이루는 집합이 주어진다. ii번째 줄에는 두 정수 aia_i와 bib_i가 주어지며 (1≤ai,bi≤n1 \le a_i, b_i \le n), FiF_i는 정점 aia_i와 bib_i를 잇는 단순 경로 위의 모든 정점으로 이루어진다. 양 끝점 aia_i와 bib_i도 포함한다.

출력

주어진 집합족이 라미나족이면 Yes를, 아니면 No를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    4 2
    1 2
    2 3
    2 4
    1 2
    4 2
    
    예상 출력
    No
    
  2. 예제 2

    입력
    6 5
    1 2
    2 3
    3 4
    5 6
    5 2
    2 1
    6 6
    1 4
    3 4
    4 1
    
    예상 출력
    Yes