jinhan814   3년 전

외적을 이용해서 O(nC3 * 2^3 * n) = O(n^4)에 구현했는데 시간초과가 나네요. 브루트포스가 정해인 거 같은데 여기서 어떻게 더 시간을 줄일 수 있는지 궁금합니다.

sait2000   3년 전

문제를 푼 적도 없고 풀이도 잘 모르지만, 문제에서 주어진 식은 이른바 분산을 계산하고 있습니다. 그리고 분산을 곧이곧대로 구하지 않고 더 쉽게(?) 구하는 공식은 검색하면 잘 나옵니다. 그 공식을 사용하면 nC3 개의 각 평면에 대해서 83번 루프의 O(n)번 실수 계산을 하지 않고 정수를 사용해서 구하면 실수 계산을 줄이니까 좀 시간이 덜 걸릴 것 같습니다. 또 그 공식을 잘 알아보면 각 평면에 대해서 3개의 점이 어느 쪽에 들어가는지에 따라 나뉘는 8개의 경우가 겹치는 계산이 많이 나와서 줄어들 겁니다 아마.

jinhan814   3년 전

알려주신대로 구현하니 AC받았습니다. 감사합니다 ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.