LASER문제의 해결방법에 대한 힌트를 구합니다

  • amok
    amok

    LASER
    O(N^3)짜리 솔루션을 작성해서 제출해봤지만 O(N^3)으로는 택도 없는 문제인 것 같더라구요. 아무리 생각해봐도 이것보다 빠른 풀이에 대한 아이디어가 떠오르지 않아서 질문합니다. 어떻게 하면 O(N^3)보다 빠르게 이 문제를 풀 수 있죠?


    9년 전
1개의 댓글이 있습니다.
  • WeissBlume
    WeissBlume

    std::map이나 이분검색을 이용하면 O(n^2\log n)로 개선할 수 있습니다.

    조금 더 힌트를 드리자면 한 직선 위에 점이 5개 이상 있으려면, 그 직선이 {}_5C{}_2=10번 이상 카운트 되겠죠.


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.