문제 링크
- https://icpc.me/17960
사용 알고리즘
- 세그먼트 트리
- PST
시간복잡도
- $O((N+Q) \log^2 N)$
풀이
2차원이면 PST를 이용해 문제를 해결할 수 있습니다. 하지만 이 문제는 3차원입니다.
3차원 공간을 $z$좌표에 따라 2차원 평면 $N$개로 분할합시다. 각 평면은 2차원이므로 PST를 이용해 쿼리를 처리할 수 있습니다.
3차원 쿼리는 연속한 몇 개의 평면에 대한 쿼리를 처리해야 합니다. 이는 평면을 관리하는 PST를 세그먼트 트리로 관리하면 $O(\log^2 N)$ 시간에 해결할 수 있습니다.
전체 코드
1 |
|