다음 범위 문제를 해결하려고합니다.
있습니다 1km와의 커버리지와 송신기 N 수신기. 모든 수신기가 모든 송신기로 덮여 있는지 O ( n log n )로 결정 하십시오. 모든 리버와 송신기는 x 와 y 좌표로 표시됩니다.
내가 함께 할 수있는 가장 진보 된 솔루션은 소요 . 모든 수신기에서이 수신기까지의 거리를 기준으로 모든 송신기를 정렬 한 다음, 가장 짧은 거리의 송신기를 가져 가십시오.이 최단 거리는 0.5km 이내에 있어야합니다.
그러나 순진한 접근 방식은 시간 복잡성 에서 훨씬 더 좋아 보인다 . 송신기와 수신기의 모든 쌍 사이의 모든 거리를 계산하십시오.
이 문제에 범위 검색 알고리즘을 적용 할 수 있는지 잘 모르겠습니다. 예를 들어 kd-trees를 사용하면 이러한 범위를 찾을 수 있지만 예를 보지 못했으며 원에 대한 범위 검색이 있는지 확실하지 않습니다.
주어진 복잡도 는 솔루션이 어떻게 든 정렬과 유사해야한다고 가정합니다.