[C++] 백준/Gold/2042. 구간 합 구하기
·
C++/Algorithm
문제: 구간 합 구하기 (백준 2042번)이번 문제는 직접 모든 구간을 계산하면 당연히 시간초과가 발생하고 세그먼트 트리를 이용해 $O(\log N)$시간 안에 구간 합을 구하는 문제이다.우선 전역으로 세그먼트 트리와 원본 배열을 tree와 v의 이름으로 선언하고 n의 입력값에 따라 resize를 한다.MakeTreelong long MakeTree(int start, int end, int node) { if (start == end) return tree[node] = v[start]; int mid = (start + end) >> 1; int next = node 역할:MakeTree 함수는 주어진 배열 v를 기반으로 세그먼트 트리를 구축하는 역할을 한다.동작 원리:기저 조건:st..