BOJ 8129 The Invasion

BOJ 8129 The Invasion

문제 링크:

문제 내용

nn개의 꼭짓점을 갖는 볼록 다각형과 그 내부의 mm개의 점이 주어집니다. 각 점에는 가중치가 매겨져 있습니다. 볼록 다각형에서 3개의 서로 다른 꼭짓점을 선택하여 이들을 꼭짓점으로 하는 삼각형을 그렸을 때, 그 삼각형의 내부에 있는 모든 점의 가중치의 합이 최대가 되도록 하세요.

어떤 다각형의 테두리나 꼭짓점 위에 있는 점도 그 다각형의 내부에 있는 것입니다.

입력

첫 줄에는 다각형의 꼭짓점의 개수 nn이 주어집니다. (3n6003 \le n \le 600) 그다음 nn줄에는 다각형의 꼭짓점의 좌표가 시계 방향으로 주어집니다. (10  000x,y10  000-10\;000 \le x, y \le 10\;000)

그 다음 줄에는 점의 개수 mm이 주어집니다. (1m10  0001 \le m \le 10\;000) 그다음 mm줄에는 각 점의 정보가 xx좌표, yy좌표, 가중치 ww 순으로 주어집니다. (10  000x,y10  000-10\;000 \le x, y \le 10\;000, 100  000w100  000-100\;000 \le w \le 100\;000)

모든 점은 다각형의 내부에 있습니다. 여러 개의 점이 같은 위치에 있을 수도 있습니다.

출력

삼각형 내의 가중치의 합의 최댓값을 출력합니다.

문제 풀이

스포일러

한 꼭짓점을 중심으로 n+mn+m개의 점을 각도 정렬 순서로 확인하면, 그 꼭짓점에서 나가는 각각의 대각선에 대해 그 대각선의 왼쪽 (또는 오른쪽)에 있는 모든 점의 가중치의 합을 구할 수 있습니다. 이를 모든 꼭짓점에 대해 반복하면, 모든 대각선의 한쪽의 가중치의 합을 O(nmlogm)\mathcal{O} (n m \log m)에 구할 수 있습니다.

삼각형 내의 가중치의 합은 모든 가중치의 합에서 삼각형 밖의 세 영역의 가중치의 합을 뺀 것과 같으므로, nn개의 꼭짓점 중 세 개의 꼭짓점의 모든 조합에 대해 이를 구해 보고 답을 구할 수 있습니다. 이는 n36\frac{n^3}{6} 시간이 소요됩니다.

Last updated on