만드는 중입니다

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

사람이 먼저 되라

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

요약
가중치가 있는 트리가 주어질 때, 모든 단순 경로에 대해 경로 간선 가중치의 합과 최대 간선 가중치를 곱한 값을 모두 더하고 10^9+7로 나눈 나머지를 구합니다.
난이도

보통10점 중 7점

유형
유니온 파인드, 정렬, 트리, 수학
정답자
아직 제출이 없습니다

문제

송도고의 교시(校是)는 "사람이 먼저 되라"이다.

재작년에 송도고에 입학한 도훈이는 등교할 때 바위에 쓰인 이 글귀를 읽었다. 하지만 도훈이는 이 글귀를 정말로 사람이 되어야 한다는 뜻으로 이해하고, 100일간 먹을 질 좋은 마늘과 쑥을 찾아다니기 시작했다.

2021년 겨울에 송도고등학교 정문에서 찍은, 교시가 적힌 바위이다.

우선 도훈이는 2년 반 동안 전 세계의 마늘을 비교해 최고의 마늘을 찾아냈다. 이제 쑥만 고르면 된다. 그런데 도훈이는 졸업 전까지 100일간 마늘과 쑥을 먹고 사람이 될 계획이었다. 마늘을 고르고 나니 시간이 얼마 남지 않았다!

쑥은 nn개의 정점과 n−1n-1개의 가중치를 가진 간선으로 이루어진 트리로 표현할 수 있다. 트리로 표현한 쑥의 가치는 다음과 같이 정의한다.

  • 각 단순 경로에 대해 맛은 경로 위 간선들의 가중치 합이다.
  • 각 단순 경로에 대해 향은 경로 위 간선들의 가중치 최댓값이다.
  • 간선을 하나 이상 포함하는 모든 단순 경로에 대한 맛과 향의 곱을 더한 값이 쑥의 가치이다.
  • 단순 경로의 방향은 구분하지 않는다.

도훈이가 쑥을 빠르게 고를 수 있도록, 주어진 쑥의 가치를 구하는 프로그램을 작성하여라. 가치가 매우 커질 수 있으므로 109+710^9+7로 나눈 나머지를 출력한다.

입력

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

이어서 n−1n-1개의 줄에 간선의 정보를 나타내는 정수 uu, vv, ww가 차례대로 주어진다. 이는 간선이 uu와 vv를 연결하며, ww의 가중치를 가진다는 의미이다.

출력

주어진 쑥의 가치를 109+710^9+7로 나눈 나머지를 출력하여라.

제한

  • 2≤n≤200 0002 \le n \le 200\,000.
  • 1≤u,v≤n1\le u, v\le n.
  • 각 (u,v,w)(u,v,w) 쌍에 대해 u≠vu\neq v이다.
  • 1≤w≤1091\le w\le 10^9.
  • 주어지는 그래프는 트리임이 보장된다.

힌트

  • 트리는 사이클이 없는 연결 그래프이다.
  • 트리에서 단순 경로는 두 정점을 연결하는 경로 중 사용하는 간선의 수가 최소인 경로이다.

예제2

  1. 예제 1

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

    입력
    6
    1 3 6
    2 3 5
    3 4 11
    4 5 4
    4 6 6
    
    예상 출력
    2021