방송국 세우기

트리가 주어질 때, 전력이 0인 모든 정점이 전력이 양수인 정점의 도달 범위 안에 들도록 음이 아닌 정수 전력을 배정하고, 전력 합의 최솟값을 구한다.

어려움8동적 계획법트리그리디DFS아직 제출이 없습니다시간 제한0.5초메모리 제한512 MB

문제

도시 사이의 연결 관계는 정점이 nn개인 트리 TT이고, 정점 하나가 도시 하나를 나타낸다. 두 정점 사이의 거리는 두 정점을 잇는 유일한 경로에 들어 있는 간선의 개수다. 같은 정보를 내보내는 방송국을 몇몇 도시에 세우려고 한다. 송신 출력이 pp인 방송국은 자기 자신으로부터 거리가 pp 이하인 모든 도시에 방송을 보낸다.

TT의 정점 집합 VV에 속한 정점 vv마다 음이 아닌 정수 p(v)p(v)를 배정한다. 이 값을 방송 출력이라고 부르며, 배정은 다음 조건을 만족해야 한다. p(u)=0p(u) = 0인 정점 uu는 모두 p(v)>0p(v) > 0인 어떤 정점 vv로부터 거리 p(v)p(v) 이내에 있다. p(v)>0p(v) > 0인 정점 vv는 송신 출력이 p(v)p(v)인 방송국이고, p(u)=0p(u) = 0인 정점 uuvv로부터 거리가 p(v)p(v) 이하이면 vv의 방송을 들을 수 있다.

조건을 만족하는 배정 가운데 vVp(v)\sum_{v \in V} p(v)를 최소로 하는 값을 구하라.

그림 A.1은 방송 출력을 배정한 두 가지 예다. (a)에서는 정점 6만 방송 출력이 4이고 나머지 정점은 모두 0이다. 이때 방송 출력이 0인 정점은 모두 정점 6의 방송을 들을 수 있다. (b)에서는 정점 3과 정점 9의 방송 출력이 각각 2와 1이다. 방송 출력이 0인 정점은 모두 정점 3이나 정점 9의 방송을 들을 수 있고, 이 배정이 방송 출력의 합을 가장 작게 만든다.

그림 A.1 (a)

그림 A.1 (b)

그림 A.1: 방송 출력을 배정한 두 가지 예. 위가 (a), 아래가 (b)다.

입력

첫 줄에 트리 TT의 정점 개수 nn (1n50001 \le n \le 5000)이 주어진다. 정점 번호는 1번부터 nn번까지다. 다음 n1n-1개 줄에는 각각 두 정수 aabb (1a,bn1 \le a, b \le n)가 주어지며, 정점 aa와 정점 bb를 잇는 간선을 뜻한다.

출력

방송 출력의 합이 가장 작은 배정에서 그 합을 한 줄에 출력한다.