만드는 중입니다

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

철도 2

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

요약
가중치가 있는 트리에서 모든 순서쌍 (x, y)마다 길이가 D 이상인 특급 열차만 타고 x에서 y로 갈 수 있는 최대 D를 구하고, 그 합을 10^9+7로 나눈 나머지를 출력합니다.
난이도

어려움10점 중 8점

유형
트리, 분할 정복, 정렬
정답자
아직 제출이 없습니다

문제

IOI 나라는 NN개의 도시와 도시들을 잇는 N−1N - 1개의 양방향 철도로 이루어져 있다. 서로 다른 두 도시는 철도만으로 오갈 수 있으므로, IOI 나라의 철도망은 트리 구조를 이룬다. 도시에는 00 이상 N−1N - 1 이하의 서로 다른 번호가 붙어 있고, 철도에도 00 이상 N−2N - 2 이하의 서로 다른 번호가 붙어 있다. 모든 0≤i≤N−20 \le i \le N - 2에 대하여 ii번 철도는 U[i]U[i]번 도시와 V[i]V[i]번 도시를 양방향으로 연결하며, 철도의 길이는 W[i]W[i]이다.

IOI 나라의 어떤 도시에서 출발하더라도 직통 열차를 타면 다른 도시로 바로 이동할 수 있다. 즉, 0≤u,v≤N−10 \le u, v \le N - 1, u≠vu \neq v인 N(N−1)N(N - 1)개의 순서쌍 (u,v)(u, v)마다 uu번 도시에서 출발하여 vv번 도시에 도착하는 직통 열차가 있다. uu번 도시에서 이 열차에 타면 vv번 도시에 도착할 때까지 내릴 수 없다. 이 열차의 소요 시간은 철도망에서 uu번 도시와 vv번 도시를 잇는 유일한 단순 경로 위 철도들의 길이를 합한 값과 같다.

서로 다른 두 도시 xx, yy에 대하여 즐거움 joy(x,y)\text{joy}(x, y)는 다음 조건을 만족하는 최대의 양의 정수 DD로 정의한다. xx번 도시에서 출발해 소요 시간이 DD 이상인 직통 열차만 타고 유한 번 이동하여 yy번 도시에 도착할 수 있다.

0≤x,y≤N−10 \le x, y \le N - 1, x≠yx \neq y인 모든 N(N−1)N(N - 1)개의 순서쌍 (x,y)(x, y)에 대한 joy(x,y)\text{joy}(x, y)의 합을 1 000 000 0071\,000\,000\,007 (=109+7=10^9 + 7)로 나눈 나머지를 구하는 프로그램을 작성하라.

제한

  • 2≤N≤500 0002 \le N \le 500\,000
  • IOI 나라의 철도망은 트리 구조를 이룬다.
  • 모든 ii에 대해 0≤U[i],V[i]≤N−10 \le U[i], V[i] \le N - 1이고 U[i]≠V[i]U[i] \neq V[i]이다 (0≤i≤N−20 \le i \le N - 2).
  • 모든 ii에 대해 1≤W[i]≤1 000 000 0001 \le W[i] \le 1\,000\,000\,000이다 (0≤i≤N−20 \le i \le N - 2).

예제1

  1. 예제 1

    입력
    2
    0 1 1
    
    예상 출력
    2