격자 L의 * C가 N 사각형의 좌표 (N < = 100.000) (L 및 C는 0 내지 1.000.000.000 범위 일 수있다) I 겹치는 사각형의 최대 수를 알고 싶어 주어 그리드의 어느 지점에서든. 최대 사각형이 중첩 지점
그래서 나는, 내가 추가하거나 내 구조에 간격을 제거 x 값으로 분류되어 각 이벤트 (사각형의 개방 또는 종료)를 들어, 청소 알고리즘을 사용하는 것이 생각.나는 간격의 최대 중첩을 유지하고 추가하고 간격을 제거 할 수 있도록 나무를 사용해야합니다.
간격 (시작 및 끝) 값이 0에서 100.000까지 인 경우이를 수행하는 방법을 알고 있지만 평면의 크기가 0에서 1.000.000.000까지이므로 여기서는 불가능합니다. 그런 나무를 어떻게 구현할 수 있습니까?
는 L과 C 정수 있습니까? –
조회가 얼마나 빨리 필요합니까? O (1) 검색을하기 위해 미리 쓸어 버리고 싶은 것 같습니다. 알고 자하는 각 점에 대해 직사각형을 스캔하는 것은 허용되지 않습니까? – mprivat
예 L 및 C 정수 – user1637030