T(n) = O(n) + T(n-1), T(1) = O(1)이라고 할 때 T(n) = O(n^2)이지만, (각 구간에서 맨 마지막이 정답이 될 때가 최악의 경우입니다)
T(n) = O(n) + T(min(x, n-x)), T(1) = O(1)라 하면 min(x, n-x) <= n/2이기 때문에 T(n) = O(n lg n)이 되기 때문입니다.
바로 재귀탐색이 가능하면 작은 구간에 들어갈 것이며, 최악의 경우에도 이진 트리처럼 조사하게 됩니다.
3408번 - Non-boring sequences
T(n) = O(n) + T(n-1), T(1) = O(1)이라고 할 때 T(n) = O(n^2)이지만, (각 구간에서 맨 마지막이 정답이 될 때가 최악의 경우입니다)
T(n) = O(n) + T(min(x, n-x)), T(1) = O(1)라 하면 min(x, n-x) <= n/2이기 때문에 T(n) = O(n lg n)이 되기 때문입니다.
바로 재귀탐색이 가능하면 작은 구간에 들어갈 것이며, 최악의 경우에도 이진 트리처럼 조사하게 됩니다.
댓글을 작성하려면 로그인해야 합니다.
smilu2245 3년 전
주어진 구간 안에서의 Unique한 원소를 찾을 때, 그냥 왼쪽에서부터(인덱스가 낮은 것부터) 하나씩 검사하는 방법을 사용했더니 TLE가 났습니다.
인터넷에 올라온 풀이를 보니까 양방향에서 병렬적으로 하나씩 찾아야 된다는 언급이 있길래 해봤더니 바로 통과되네요.
푼 거 까지는 좋은데, 그냥 왼쪽부터 찾는거랑 왼쪽오른쪽 동시에 찾는거랑 왜 그렇게 차이가 나는지 잘 모르겠습니다.