만드는 중입니다

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

Wind of Change 2020

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

요약
정점이 N개인 가중 트리 두 개가 주어집니다. 간선 가중치는 음수일 수 있으며, T1에서 두 정점 사이 거리의 최댓값으로 정의된 정수 하나를 구합니다.
난이도

보통10점 중 6점

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

문제

NN개의 정점으로 이루어진 트리 T1T_1이 있다. T1T_1의 각 정점에는 1부터 NN까지의 번호가 부여되어 있고, 각 간선에는 정수 가중치(음수일 수 있음)가 부여되어 있다. T1T_1에서 두 정점 사이 거리의 최댓값을 트리의 지름이라고 한다. 이때 두 정점은 같은 정점일 수 있다.

실습에서 이 문제를 접한 구재현 학생은 다음과 같은 풀이를 생각했다. 트리의 루트를 1번 정점으로 두면, 두 정점 x,yx, y 사이의 거리는

depth1(x)+depth1(y)−depth1(LCA1(x,y))−depth1(LCA1(x,y))depth_1(x) + depth_1(y) - depth_1(LCA_1(x, y)) - depth_1(LCA_1(x, y))

이다. 여기서 depth1(x)depth_1(x)는 T1T_1에서 루트와 정점 xx 사이의 거리이고, LCA1(x,y)LCA_1(x, y)는 T1T_1에서 두 정점 x,yx, y의 최소 공통 조상이다. 구재현 학생은 Sparse Table을 사용해서 LCA를 O(log⁡N)O(\log N)에 구할 수 있다. 따라서 모든 1≤x,y≤N1 \le x, y \le N에 대해 이 값의 최댓값을 구하면 O(N2log⁡N)O(N^2 \log N)에 문제를 해결할 수 있다.

구재현 학생은 이 알고리즘을 구현했지만 시간 초과를 받았다. 자존심이 상한 구재현 학생은 위 문제를 조금 바꿔서 코치들에게 도전하기로 했다. T2T_2를 T1T_1과 같은 형식으로 주어지는 트리라고 하고, depth2(x)depth_2(x)와 LCA2(x,y)LCA_2(x, y)도 비슷하게 정의할 때, 다음 값을 계산하라.

max⁡1≤x,y≤N(depth1(x)+depth1(y)−depth1(LCA1(x,y))−depth2(LCA2(x,y)))\max_{1 \le x, y \le N} (depth_1(x) + depth_1(y) - depth_1(LCA_1(x, y)) - depth_2(LCA_2(x, y)))

훌륭한 코치인 여러분 역시 자존심이 강하다. 이 문제를 풀어서, 공부는 하지 않고 이상한 자료구조 문제나 만드는 구재현 학생의 콧대를 꺾어 주자.

입력

첫 번째 줄에 두 트리의 정점 수 NN (1≤N≤4000001 \le N \le 400000)이 주어진다.

이후 N−1N-1개의 줄에 세 정수 ui,vi,wiu_i, v_i, w_i가 주어진다. T1T_1에 두 정점 ui,viu_i, v_i를 잇는 가중치 wiw_i의 간선이 있음을 뜻한다. (1≤ui,vi≤N1 \le u_i, v_i \le N, ∣wi∣≤231−1|w_i| \le 2^{31} - 1)

이후 N−1N-1개의 줄에 세 정수 ui,vi,wiu_i, v_i, w_i가 주어진다. T2T_2에 두 정점 ui,viu_i, v_i를 잇는 가중치 wiw_i의 간선이 있음을 뜻한다. (1≤ui,vi≤N1 \le u_i, v_i \le N, ∣wi∣≤231−1|w_i| \le 2^{31} - 1)

출력

하나의 정수로 문제의 정답을 출력하라.

예제2

  1. 예제 1

    입력
    5
    1 2 10
    2 4 20
    3 4 30
    4 5 50
    1 2 15
    1 3 25
    1 4 35
    1 5 25
    
    예상 출력
    110
    
  2. 예제 2

    입력
    9
    5 7 6577
    4 5 -8869
    5 9 9088
    2 1 -124
    6 2 410
    2 8 -8154
    4 8 4810
    3 4 -4268
    3 9 763
    6 2 -8959
    7 4 7984
    3 8 -504
    8 6 9085
    5 2 -4861
    1 9 8539
    1 7 -7834
    
    예상 출력
    3328