만드는 중입니다

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

트리를 복잡하게 색칠하는 최소 비용

면접 대비

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

요약
트리의 각 정점을 흰색 또는 검은색으로 칠합니다. 인접한 두 정점이 모두 검은색이 되지 않도록 하면서 전체 비용의 최소값을 구합니다.
난이도

보통10점 중 4점

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

문제

정점 nn개와 간선 n−1n - 1개로 이루어진 트리 TT가 있다. 정점 번호는 0부터 n−1n - 1까지이고, 0번 정점이 루트이다. 간선에는 가중치가 없다.

트리 TT의 각 정점을 white 또는 black으로 색칠하려고 한다. 단, 이웃한 두 정점을 모두 black으로 색칠할 수 없다. 즉, 이웃한 두 정점은 white와 black, black과 white, 또는 white와 white로 색칠해야 한다.

각 정점마다 white로 색칠하는 비용과 black으로 색칠하는 비용이 주어진다. 트리 TT의 모든 정점을 색칠하는 최소 비용을 출력하자.

입력

첫 번째 줄에 정점의 수 nn이 주어진다.

두 번째 줄부터 n−1n - 1개 줄에 걸쳐 간선의 정보가 주어진다. 한 줄에 간선 하나의 정보가 주어진다. 부모 정점 번호 pp와 자식 정점 번호 cc가 공백을 사이에 두고 순서대로 주어진다.

다음 줄부터 nn개의 줄에는 0번 정점부터 n−1n - 1번 정점까지 정점을 색칠하는 비용이 순서대로 주어진다. 한 줄에 정점 하나의 white로 색칠하는 비용 ww와 black으로 색칠하는 비용 bb가 공백을 사이에 두고 순서대로 주어진다.

출력

첫 번째 줄에 트리 TT의 모든 정점을 색칠하는 최소 비용을 출력한다.

제한

  • 2≤n≤1000002 \le n \le 100000
  • 0≤p,c≤n−10 \le p, c \le n - 1, p≠cp \ne c
  • 간선들로 만들어진 그래프는 트리이다.
  • 1≤w,b≤1000001 \le w, b \le 100000이며, ww와 bb는 양의 정수이다.

예제1

  1. 예제 1

    입력
    8
    0 1
    0 2
    1 3
    1 4
    2 5
    2 6
    6 7
    10 20
    10 30
    10 100
    100 50
    50 50
    10 50
    10 50
    70 100
    
    예상 출력
    220