2018. 1. 7. 14:41, 알고리즘/BOJ
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부터 시작하는지 뭐 그런 것들 때문에 굉장히 헷갈렸습니다.
'알고리즘 > 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