Closest Pair현재까지 최소길이 h,현재까지 처리한 점의 개수 N-1X좌표 기준으로 점들을 정렬왼쪽에서부터 차례대로 처리점을 처리할 때 Set에 넣고다음 점으로 넘어갈 때나h가 감소할 때 Set에서 제거
12.
Closest PairN번째 점과의거리가h보다 가까운 점을 찾으려면현재 Set에 들어있으면서 N과의 x좌표, y좌표 차이가 각각 h 이하인 점들만 비교 대상Set의 원소들은 Y좌표로 정렬-> 정렬 시 Balanced Binary Tree 사용-> 탐색 Complexity O(log n)-> 전체 Complexity O(n log n)
13.
Line Segment Intersections직선끼리교점 세기 문제X좌표를 기준으로 이벤트 구분 1) X축에 평행한 직선의 양 끝 2) X축에 수직인 직선처음 Range로 들어갈 때 Set에 직선 추가(Set은 Y 좌표로 정렬)빠져나올 때 Set에서 제거수직선을 만나면 Set에 포함된 선분들의 Y 좌표를 Range Search해서 결과값에 추가
14.
Line Segment Intersections직선끼리교점 세기 문제X좌표를 기준으로 이벤트 구분 1) X축에 평행한 직선의 양 끝 2) X축에 수직인 직선처음 Range로 들어갈 때 Set에 직선 추가(Set은 Y 좌표로 정렬)빠져나올 때 Set에서 제거수직선을 만나면 Set에 포함된 선분들의 Y 좌표를 Range Search해서 결과값에 추가
15.
좀더 복잡한 경우…직선의양 끝점과 Set 내 직선들의 교점까지 저장Priority Queue를 사용한 데이터 관리
16.
Union of Rectangles사각형안쪽의 넓이의 합 구하기X좌표를 기준으로 이벤트 구분 : 각사각형의 왼쪽, 오른쪽 모서리처음 왼쪽 모서리를 만났을 때 Set에 사각형 추가, 빠져나올 때 Set에서 제거넓이 = Σ(어떤 이벤트의 X좌표-이전 이벤트의 X좌표)*(cut length)