트리 게임

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

요약
트리에서 A는 한 칸, B는 두 칸씩 번갈아 움직이며 A가 B를 잡을 수 있는 시작 위치 쌍 (i, j)의 개수를 센다.
난이도

어려움10점 중 9점

유형
게임 이론, 트리, DFS, 수학
정답자
아직 제출이 없습니다

문제

트리에서 두 플레이어 AA와 BB가 아래의 규칙대로 게임을 하려고 한다.

AA는 정점 ii에 있고, BB는 정점 jj에 있다. AA와 BB는 차례대로 아래의 행동을 반복한다.

  • AA는 현재 위치로부터 거리가 11인 정점 중 하나로 움직인다.
  • BB는 현재 위치로부터 거리가 22인 정점 중 하나로 움직인다.

플레이어는 각자 자신의 차례에 가만히 있을 수 없으며, 반드시 움직여야 한다.

상대방이 있는 위치로 움직였다면, 상대방을 잡게 되어 움직인 플레이어가 게임에서 승리한다. 만약 BB가 1010010^{100}번 움직일 때까지도 승부가 나지 않는다면, 무승부가 된다.

두 플레이어는 매우 똑똑하므로 항상 최선으로 행동한다.

모든 시작 위치 쌍 (i,j)(i, j) (1≤i,j≤N;i≠j)(1\leq i, j\leq N; i ≠ j) 에서 게임을 진행할 때, 플레이어 AA가 이기는 횟수를 구해보자.

입력

트리의 정점의 개수를 의미하는 정수 NN이 주어진다. (4≤N≤200,000)(4\leq N\leq 200\\, 000)

이어지는 N−1N-1개의 줄에, 간선으로 연결된 두 정점을 의미하는 정수 u,vu, v가 공백으로 구분되어 주어진다. (1≤u,v≤N)(1\leq u, v\leq N)

두 플레이어가 어떤 위치에 있더라도 규칙에 따라 이동할 수 있는 트리임이 보장된다. 즉, 트리의 지름이 33 이상임이 보장된다.

출력

모든 서로 다른 시작 위치에서 게임을 진행할 때, 플레이어 AA가 이기는 횟수를 출력한다.

힌트

트리는 사이클이 없는 연결 그래프입니다. 즉, NN개의 정점으로 이루어진 트리는 N−1N-1개의 간선으로 사이클 없이 모든 정점이 연결되어 있습니다.

트리에서 두 정점 u,vu, v사이의 거리란, uu에서 vv로 가는 경로에 포함된 간선의 개수를 의미합니다.

예제2

  1. 예제 1

    입력
    5
    1 2
    2 3
    1 4
    1 5
    
    예상 출력
    16
    
  2. 예제 2

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