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

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

Masha와 선인장

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

요약
각 꼭짓점이 최대 하나의 사이클에 속하도록 추가 간선을 고르는 최대 무게를 구한다. 서브트리를 기준으로 DP를 세우고 루트로 가는 경로에 느린 갱신을 적용한다.
난이도

어려움10점 중 8점

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

문제

Masha는 선인장을 좋아한다. 어렸을 때 그녀는 나무 한 그루를 심기로 했다. 이제 Masha는 자신의 나무를 멋진 선인장으로 만들고 싶어 한다.

트리는 사이클이 없는 연결 무방향 그래프이다. 선인장은 각 정점이 많아야 하나의 사이클에 속하는 연결 무방향 그래프이다.

Masha에게는 트리에 추가할 수 있는 간선이 몇 개 있다. 각 간선에 대해 어떤 두 정점을 연결하는지와 그 간선의 아름다움을 알고 있다. Masha는 이 간선들 중 일부를 그래프에 추가할 수 있으며, 그 결과 그래프가 선인장이어야 한다. 완성된 선인장의 아름다움은 추가한 모든 간선의 아름다움의 합이다.

Masha가 얻을 수 있는 선인장의 최대 아름다움을 구하시오.

입력

첫째 줄에는 정수 n과 m이 주어진다. n은 트리의 정점 수이고, m은 사용할 수 있는 추가 간선의 수이다. (3 ≤ n ≤ 2·10^5; 0 ≤ m ≤ 2·10^5)

Masha의 트리를 설명한다. 트리의 루트는 정점 1이다. 둘째 줄에는 n - 1개의 정수가 주어진다. p2, p3, ..., pn이며, pi는 정점 i의 부모, 즉 정점 i에서 트리의 루트로 가는 경로에서 첫 번째 정점이다. (1 ≤ pi < i)

다음 m개의 줄에는 세 개의 정수 ui, vi, ci가 주어진다. ui와 vi는 Masha가 트리에 추가할 수 있는 추가 간선이 연결하는 두 정점이고, ci는 그 간선의 아름다움이다. (1 ≤ ui, vi ≤ n; ui ≠ vi; 1 ≤ ci ≤ 10^4)

어떤 추가 간선도 트리의 간선과 일치하지 않음이 보장된다.

출력

Masha가 얻을 수 있는 선인장의 최대 아름다움을 정수 하나로 출력한다.

예제1

  1. 예제 1

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