[BOJ] 2110번: 공유기 설치

https://www.acmicpc.net/problem/2110


집의 좌표를 미리 정렬해두었다고 가정할 경우 공유기 사이의 거리가 D 이상일 때 공유기를 L개 이상 설치할 수 있는지를 O(N)안에 판단할 수 있습니다. 제일 왼쪽에 있는 집에 공유기를 설치하고 이후 greedy하게 확인하면 되기 때문인데, 왜 그런지 직관적으로 와닿지 않는다면 제일 왼쪽에 있는 집과 이웃한 집의 거리가 D 이상일 떄와 아닐 때로 나누어서 생각해보면 이해가 갈 것입니다.


답은 1~100000000 안에 있을 것이므로 binary search로 찾아나가면 O(log100000000 * N)으로 문제를 해결할 수 있습니다.


https://github.com/encrypted-def/BOJ/blob/master/2110.cpp



'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 1239번: 차트  (0) 2018.01.07
[BOJ] 1017번: 소수 쌍  (0) 2018.01.07
[BOJ] 1946번: 신입 사원  (0) 2018.01.07
[BOJ] 1958번: LCS 3  (0) 2018.01.07
[BOJ] 11931번: 수 정렬하기 4  (0) 2018.01.07
[BOJ] 1967번: 트리의 지름  (0) 2018.01.07
  Comments