[BOJ] 7469번: K번째 숫자

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


수가 전부 다르다는 조건을 활용해 수를 0~n-1로 바꾼 후, segment tree를 만들어 binary search로 K번째 수를 찾아나섰습니다. (시간복잡도 O(N*lgN*lgN + M*lgN*lgN*lgN)) 시간 제한이 바뀌기 전에는 O(NM)으로 풀 수 있었는데 시간 제한이 줄어들어 그게 불가능해졌네요.(굉장히 잘 짜면 가능할수도 있을 것 같기도 하고.. 잘 모르겠습니다.)


오랜만에 코딩을 해서 그런지 코드가 썩 깔끔한 느낌은 없지만 그래도 열심히 짰습니다. 0부터 시작하는지 1부터 시작하는지 뭐 그런 것들 때문에 굉장히 헷갈렸습니다.


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

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

[BOJ] 2447번: 별찍기 - 10  (0) 2018.01.07
[BOJ] 2263번: 트리의 순회  (0) 2018.01.07
[BOJ] 6549번: 히스토그램에서 가장 큰 직사각형  (0) 2018.01.07
[BOJ] 1377번: 버블 소트  (0) 2018.01.07
[BOJ] 1406번: 에디터  (2) 2018.01.07
[BOJ] 2089번: -2진수  (0) 2018.01.07
  Comments