만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

사진 촬영

시간 제한8초메모리 제한1024 MB

요약
1번 방에서 출발해 모든 복도를 두 번씩 지나는 순회를 짜고, 각 친구의 두 방을 모두 포함하는 구간 길이의 합을 최소화합니다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, 비트 연산, DFS
정답자
아직 제출이 없습니다

문제

서울과학고는 NN개의 방과 서로 다른 두 방을 연결하는 N−1N-1개의 복도로 이루어진 트리 형태로 표현할 수 있다. 모든 복도는 양방향으로 이동할 수 있고, 복도를 이용해 모든 방 사이를 이동할 수 있다. 복도 하나를 통과하는 데 걸리는 시간은 11이다.

브루는 졸업을 앞두고 서울과학고에서 함께 추억을 쌓은 KK명의 친구들과 사진을 찍으려고 한다.

브루는 KK명의 친구 각각과 커플 사진을 두 장씩 찍는다. ii번 친구와는 AiA_i번 방과 BiB_i번 방에서 사진을 찍는다. 1번 방에서 BiB_i번 방까지 가려면 반드시 AiA_i번 방을 지나야 한다.

총 2K2K장의 사진을 찍으려면 학교 안을 이동해야 하지만, 모든 친구가 함께 움직이면 혼잡해진다. 그래서 브루와 친구들은 다음과 같이 이동하기로 했다.

먼저 브루가 서울과학고를 순회하는 계획을 세운다. 순회 계획은 다음 조건을 만족해야 한다.

  • 순회는 시간 00에 1번 방에서 출발하여, 시간 2N−22N-2에 1번 방에 도착하면 끝난다.
  • 모든 복도를 정확히 두 번 통과하며, 두 번의 방향은 서로 반대이다.
  • 시간은 복도를 통과하는 시간만 계산한다. 사진을 찍는 시간 등은 무시한다.

편의상 순회 계획을 수열 S0,S1,⋯ ,S2N−2S_0, S_1, \cdots, S_{2N-2}로 나타내자. 여기서 SiS_i는 시간 ii에 브루가 막 도착한 방의 번호이다.

다음으로 KK명의 친구들이 브루의 순회에 함께할 시간을 정한다. ii번 친구는 순회에 합류할 시각 LiL_i와 순회에서 빠져나올 시각 RiR_i를 정한다. ii번 친구는 AiA_i번 방과 BiB_i번 방에서 브루와 사진을 찍어야 하므로, 이 시간 간격 동안 브루가 두 방을 모두 방문해야 한다. 즉, Li≤e,f≤RiL_i \le e, f \le R_i, Se=AiS_e = A_i, Sf=BiS_f = B_i인 정수 ee와 ff가 존재해야 한다.

ii번 친구의 이동 시간은 Ri−LiR_i - L_i로 정의된다. 브루는 모든 친구의 이동 시간 합을 최소화하려고 한다. 가능한 최소 이동 시간 합을 구하시오.

입력

첫째 줄에 방의 수 NN과 친구의 수 KK가 주어진다.

둘째 줄부터 NN번째 줄까지 i+1i+1번째 줄에는 ii번 복도가 연결하는 두 방의 번호 UiU_i와 ViV_i가 공백으로 구분되어 주어진다.

N+1N+1번째 줄부터 N+KN+K번째 줄까지 N+iN+i번째 줄에는 ii번 친구와 사진을 찍을 방의 번호 AiA_i와 BiB_i가 공백으로 구분되어 주어진다.

출력

모든 친구의 이동 시간 합으로 가능한 최솟값을 출력한다.

제한

  • 2≤N≤5×1052 \le N \le 5 \times 10^5
  • 1≤K≤181 \le K \le 18
  • 1≤Ui≤N1 \le U_i \le N (1≤i<N1 \le i < N)
  • 1≤Vi≤N1 \le V_i \le N (1≤i<N1 \le i < N)
  • Ui≠ViU_i \neq V_i (1≤i<N1 \le i < N)
  • 입력으로 주어지는 서울과학고의 구조는 트리임이 보장된다.
  • 1≤Ai,Bi≤N1 \le A_i, B_i \le N (1≤i≤K1 \le i \le K)
  • Ai≠BiA_i \neq B_i (1≤i≤K1 \le i \le K)
  • 1번 방에서 BiB_i번 방까지 이동하려면 반드시 AiA_i번 방을 지나야 한다. (1≤i≤K1 \le i \le K)
  • 입력으로 주어지는 모든 수는 정수이다.

예제1

  1. 예제 1

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