2042번 구간 합 구하기


2042번 구간 합 구하기

https://www.acmicpc.net/problem/2042필요한 로직 : 세그먼트 트리[배경]세그먼트 트리는 구간(segment)들을 연속적으로 보존하고 있는 트리다. 리프 노드들은 모두 크기 1인 구간을 가지고 있고, 부모 노드는 자식들의 구간을 합하여 가지고 있는 구조다. 보통 포화 이진 트리로 사용하며, 노드들이 포화 이진 트리를 구성하지 못한다고 해도 dummy값들로 채워서 사용하게 된다. 편향 트리와 달리 "균형"잡힌 포화 이진 트리를 사용하면 트리의 높이로 보듯 탐색 시간 복잡도가 O(logN)이 되고, 왼쪽 자식 노드는 2*i, 오른쪽 자식 노드는 (2*i+1)로 자식 노드에 쉽게 접근할 수 있다. (보통 최상위 루트 노드의 번호를 1로 잡는다..........

2042번 구간 합 구하기에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : 2042번 구간 합 구하기