만드는 중입니다

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

볼록 다각형 MST

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

요약
볼록 다각형의 꼭짓점이 주어질 때, 간선의 가중치를 두 점 사이 거리의 제곱으로 놓고 가중치 합이 최대인 신장 트리를 구합니다.
난이도

어려움10점 중 8점

유형
그래프, 최소 신장 트리, 기하
정답자
아직 제출이 없습니다

문제

평면 위에 꼭짓점이 nn개인 볼록 다각형이 있다. 꼭짓점의 집합을 VV라고 하자. 볼록 다각형의 변을 모두 제거한 뒤, 다음 연산을 n−1n-1번 반복하여 꼭짓점이 nn개인 트리를 만든다:

  • 서로 다른 두 꼭짓점 x,y∈Vx, y \in V를 고른다. xx와 yy 사이에 간선을 추가한다. 두 점 사이의 유클리드 거리를 d(x,y)d(x,y)라고 하면, (d(x,y))2(d(x,y))^2점을 얻는다.

n−1n-1번의 연산으로 얻을 수 있는 점수 합의 최댓값을 구하시오.

입력

입력 파일에는 여러 개의 테스트 케이스가 들어 있다. 첫 줄에는 테스트 케이스의 개수 tt가 주어진다. 이어서 tt개의 테스트 케이스가 주어지며, 각 테스트 케이스는 다음 형식으로 주어진다.

nn

x1x_1 y1y_1 ⋮ xnx_n yny_n

nn은 꼭짓점의 개수이며 3≤n≤120 0003 \le n \le 120\,000이다. 한 입력 파일에 있는 모든 nn의 합은 120 000120\,000 이하이다. xix_i와 yiy_i는 ii번째 꼭짓점의 좌표이며, 각 좌표는 −109-10^9 이상 10910^9 이하의 정수이다. 꼭짓점은 볼록 다각형의 무게중심에서 볼 때 반시계 방향으로 주어진다. 볼록 다각형의 서로 다른 세 꼭짓점은 한 직선 위에 있지 않다.

출력

점수 합의 최댓값을 출력한다.

힌트

두 점 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2) 사이의 유클리드 거리는 ∣x1−x2∣2+∣y1−y2∣2\sqrt{|x_1 - x_2|^2 + |y_1 - y_2|^2}으로 계산한다.

답은 2642^{64}를 넘을 수 있다.

예제1

  1. 예제 1

    입력
    2
    4
    0 0
    1 0
    1 1
    0 1
    6
    986288255 165031740
    -353860917 -935298054
    -173584601 -984818960
    141060317 -990001002
    341839727 -939758266
    662792114 -748803453
    
    예상 출력
    5
    10426936519662708146