two pointer 특 : 그냥 포인터 2개 움직이면 됨
sliding window 특 : 크기 고정한 two-pointer임. 주의할 점은 배열의 indexding.
meet in the middle 특 : div&conquer인데 1번만 하는 경우임.
주어진 n으로 Brute-Force는 불가능 해 보이지만,
n/2로 Brute-Force는 가능해 보일 때 사용하는 기법. 보통 n이 30~50정도일 때 쓸 수 있다.
앞 절반, 뒤 절반으로 나누고 앞 절반으로 뒤 절반을 탐색하면 된다.
그 절반을 정렬해도 $log2^{n/2} = log(n/2)$이기 때문에 $O(2^{n/2} * n/2)$에 풀린다.
'PS > Algorithm' 카테고리의 다른 글
저수지 샘플링 Reservoir Sampling (0) | 2023.03.10 |
---|---|
누적 합 Prefix Sum (0) | 2022.07.10 |
동적 계획법 Dynamic Programming (+ LIS) (0) | 2022.07.09 |
좌표 압축 (0) | 2022.06.28 |
정렬 ***TODO (0) | 2022.06.27 |