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

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

트리 장식

시간 제한1초메모리 제한128 MB

요약
각 노드에 장식을 놓는 단위 비용이 주어질 때, 모든 부분트리가 요구 개수 이상을 담도록 최소 비용으로 장식을 배치한다.
난이도

보통10점 중 7점

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

문제

농부 존이 춘분 트리(크리스마스 트리와 비슷하지만 약 3개월 뒤에 인기를 끄는 나무)를 장식하고 있습니다. 이 트리는 1…N1 \ldots N 번으로 번호가 매겨진 NN개(1≤N≤100,0001 \le N \le 100{,}000)의 노드로 이루어진 뿌리 있는 트리로 나타낼 수 있으며, 11번 노드가 루트입니다. 11보다 큰 모든 노드 ee는 부모 PeP_e(1≤Pe≤N1 \le P_e \le N)를 가집니다. 11번 노드는 루트이므로 부모가 없으며, 입력에서 −1-1로 표시됩니다.

각 노드 ii는 자기 자신을 포함하는 서브트리(크기가 11일 수도 있습니다)의 루트입니다. 농부 존은 노드 ii를 루트로 하는 서브트리에 속한 모든 노드에 놓인 장식품의 총 개수가 최소 CiC_i개(0≤Ci≤10,000,0000 \le C_i \le 10{,}000{,}000) 이상이 되기를 원합니다. 노드 ii에 장식품 KK개를 놓는 데는 K⋅TiK \cdot T_i(1≤Ti≤1001 \le T_i \le 100)의 시간이 걸리며, 각 노드에는 00개 이상의 장식품을 원하는 만큼 놓을 수 있습니다.

모든 서브트리 조건을 만족시키면서 장식품을 놓는 데 필요한 최소 총 시간을 구하세요. 정답은 부호 있는 32비트 정수 범위를 벗어날 수 있지만, 부호 있는 64비트 정수 범위에는 들어갑니다.

입력

  • 첫째 줄: 정수 NN 하나.
  • 2…N+12 \ldots N+1번째 줄: i+1i+1번째 줄에는 노드 ii를 설명하는 세 정수 PiP_i, CiC_i, TiT_i가 공백으로 구분되어 주어집니다.

출력

  • 첫째 줄: 모든 장식품을 놓는 데 필요한 최소 시간을 나타내는 정수 하나.

예제3

  1. 예제 1

    입력
    5
    -1 9 3
    1 2 2
    5 3 2
    5 1 4
    2 3 3
    
    예상 출력
    20
    
  2. 예제 2

    입력
    1
    -1 5 10
    
    예상 출력
    50
    
  3. 예제 3

    입력
    1
    -1 0 100
    
    예상 출력
    0