문제 링크
- http://icpc.me/3653
문제 출처
- 2011 NWERC C번
사용 알고리즘
- Segment Tree
시간복잡도
- O((n+m) log (n+m))
풀이
영화가 n개가 있고, m개를 뽑아서 위로 올리는 문제입니다.
입력을 받을 때 m+1부터 m+n번 인덱스에 입력을 받고, 꺼내서 위로 올릴 때에는 앞에 빈 공간에 넣어주는 방식으로 문제를 해결할 것입니다.
해당 구간에 영화가 몇 개 있는지는 Segment Tree를 이용해 구하면 log 시간 안에 구할 수 있습니다.
구현이 까다로운 부분은 없으므로 자세한 설명은 생략하겠습니다.
전체 코드
1 |
|