백준 2042 (1) 썸네일형 리스트형 세그먼트 트리(Segment Tree) 자료구조 세그먼트 트리(Segment Tree) 구간의 정보를 업데이트하고 가져올때는 어떤 방법을 사용할까? 가장 쉽게 생각나는 방법은 업데이트시 해당 배열의 값을 바꾸고, 다시 가져오는 방법이다. 예를 들어 arr[4] = {1,2,3,4}라는 배열이 있고, 다음의 작업을 수행한다고 가정하자. 1. arr[0]~arr[3]까지의 합을 구한다. 2. arr[3]의 값을 5로 변경한다. 3. arr[0]~arr[3]까지의 합을 구한다. 해당 내용을 위에서 언급한 방식대로 진행하면 인덱스 0~3까지의 배열의 합을 구하고 (Θ(N)) arr[3]의 내용을 바꾼뒤 다시 0~3까지의 배열의 합을 구해야 한다(Θ(N)). 위의 예시는 배열의 크기가 작기때문에 위의 방식대로 해도 큰 문제가 없지만, 배열의 크기가 매우 커지고.. 이전 1 다음