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

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

트리 GCD

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

요약
정점 번호가 1부터 N까지인 트리가 주어질 때, 모든 i < j 쌍에 대해 gcd(i, j, dist(i, j))의 합을 구합니다.
난이도

어려움10점 중 9점

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

문제

정점이 NN개인 무방향 트리가 주어진다. 각 정점에는 11부터 NN까지의 서로 다른 정수가 번호로 붙어 있다.

dist(i,j)\textrm{dist}(i, j)는 트리에서 정점 ii와 정점 jj를 잇는 최단 경로의 길이이다.

∑1≤i<j≤Ngcd⁡(i,j,dist(i,j))\sum_{1 \leq i < j \leq N} \gcd(i, j, \textrm{dist}(i, j))를 구하라. 여기서 gcd⁡(a,b,c)\gcd(a, b, c)는 aa, bb, cc의 최대공약수이다.

입력

첫째 줄에 정수 NN이 주어진다. 이후 N−1N-1개의 줄에 공백으로 구분된 정수 uiu_i와 viv_i(1≤i≤N−11 \leq i \leq N-1)가 주어지며, 이는 정점 uiu_i와 정점 viv_i 사이에 간선이 있다는 뜻이다.

출력

∑1≤i<j≤Ngcd⁡(i,j,dist(i,j))\sum_{1 \leq i < j \leq N} \gcd(i, j, \textrm{dist}(i, j))의 값을 출력한다.

제한

3≤N≤100 0003 \leq N \leq 100\,000

1≤ui≤N1 \leq u_i \leq N (1≤i≤N−11 \leq i \leq N-1)

1≤vi≤N1 \leq v_i \leq N (1≤i≤N−11 \leq i \leq N-1)

주어지는 그래프는 트리이다.

예제3

  1. 예제 1

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

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

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