BOJ 24026 - 기차 여행
Sparse Table로 구성해보자.
를 에서 번 이동할 때 최대로 이동할 수 있는 가장 작은 도시와 가장 큰 도시라고 하자.
이를 채우는건 Segment Tree로 할 수 있다.
자신이 번에 까지 도달할 수 있었다면 번 이동해서 도달하는 값들이 저장된 세그먼트 트리에 부분에 또 쿼리를 날려 번 이동해서 갈 수 있는 도시들의 값을 얻어오게 된다.
따라서 전처리에 이 소요된다.
이제 정답을 이분탐색을 이용해 구하면 된다.
세그먼트 트리와 Sparse Table을 쓰는것까지 생각했고, 실제로 답을 구하려 했지만 내가 짠 알고리즘이 이라 무지성 TLE를 끝없이 받게되었다.
어찌됐든 이 시간복잡도로 극한의 최적화를 해 통과할 수는 있었지만, 을 하는 방법은 전처리된 세그먼트 트리를 배열을 이용한 RMQ로 에 쿼리할 수 있게 한 번 더 전처리를 하는 것인것같다.
Comments