2013-03-08 4 views
4

나는 잠시 동안 여기에서 읽었지 만, 게시 한 것은 이번이 처음이므로이 태그가 올바르게 태그되지 않았 으면 사과드립니다. 어쨌든 나는 아래에서 설명하는 문제에 갇혀있다.최소 거리 알고리즘

내 직업은 어떤 집과 가장 가까운 와이파이 라우터 사이의 최장 거리를 최소화하기 위해 n 와이파이 라우터를 정렬하는 것입니다. 저는 집이 1 차원 공간에 배열되어 있다고 가정 할 수 있습니다. 나는 초기 위치로부터 거리로서의 집 위치를 부여 받았고 위치는 정렬 된 순서로 주어졌다. 또한 O (m log L)에서이 문제를 해결해야합니다. 여기서 m은 주택 수이고 L은 주어진 최대 위치입니다.

나는 이것을 알아 내려고 노력했지만, 내가 생각해내는 알고리즘 중 어느 것도 복잡성에서 해결할 수 없다. 이 문제를 해결하는 방법에 대한 힌트를 주셔서 감사합니다.

+0

'n'에 의존하지 않습니까? 또한 WLOG는 모든 계량기가 집에 있거나 두 집 사이의 중간에 위치한다고 가정 할 수 있습니다. – Antimony

+0

나는 'n'에도 의존성이 없다는 것이 이상하다고 생각했다. 로그가 거리를 단순화 할 수있는 방법을 제공해야한다는 것을 깨달았지만, L의 복잡성에 따라이를 수행하는 방법을 알 수는 없습니다. –

+0

라우터를 이산 적으로 배치 할 수 있습니까, 아니면 연속적으로 배치 할 수 있습니까? –

답변

1

여기에 힌트가 있습니다.

O(m) 거리에 상한값을 사용하는 함수를 쓰면 쉽고 라우터에서 그 집보다 위에있는 집이 없는지 확인하는 데 필요한 최소 라우터 수를 알 수 있습니다.

n 라우터를 사용하지 않는 가장 큰 거리를 검색하십시오.

+0

당신이 생각하고있는 알고리즘 (가능한 경우)은 솔루션의 존재를 제공하지만 실제 좌표는 제공하지 않습니다. –

+0

"쉬운"기능은 그가 말하는 것 같아서 라우터 배치를 탐욕스럽게 계산하여 "최소값"을 결정합니다.이 값은 카운트와 함께 반환 될 수 있습니다. 욕심 많은 알고리즘이 실제 최소값을 놓칠 수 있는지 여부에 달려 있습니다. – phs

+0

@phs 유도를 사용하여 세부 사항을 해결할 수 있습니다. 나는 숙제라고 생각하기 때문에 의도적으로 내 설명에서 할 일을 떠난다. – btilly