본문 바로가기

Problem Solving/자료구조 및 구현

BOJ 6549 - 히스토그램에서 가장 큰 직사각형

문제 링크(Link)


https://www.acmicpc.net/problem/6549


문제 해결 (Solution)


 1. 여러가지 풀이 방법이 있지만, 분할 정복(divide & conquer)구간 트리(segment tree)를 이용해서 문제를 해결.


 2. 가장 큰 직사각형은 일정한 구간 내에서 가장 낮은 높이에 의해 결정된다. 


 3. tree[node] = 일정한 구간 (i, j)에서의 가장 낮은 높이의 인덱스.


주의할 점 || 생각해볼 점(Caution || Consideration)


 1. 2로 나누고 곱하는 과정을 쉬프트 연산을 이용하면 조금 더 빠르게 해결할 수 있다.



참고(Reference)


 -




※ 정확하고 부드러운 태클은 언제나 환영입니다.



'Problem Solving > 자료구조 및 구현' 카테고리의 다른 글

BOJ 9322- 철벽 보안 알고리즘  (0) 2017.10.30
BOJ 2174 - 로봇 시뮬레이션  (0) 2017.10.16
BOJ 14729 - 칠무해  (0) 2017.09.21
BOJ 2696 - 중앙값 구하기  (0) 2017.07.30
BOJ 5675 - 음주 코딩  (0) 2017.07.04