배열 인덱스 범위 고정
0부터 n-1까지인지, 1-based로 둘지 처음에 정하고 변환 지점을 줄인다.
배열은 같은 타입 값이 연속된 공간에 놓인 구조다. 인덱스 접근은 빠르지만 크기 변경과 중간 삽입은 비용이 크다.
0부터 n-1까지인지, 1-based로 둘지 처음에 정하고 변환 지점을 줄인다.
2차원 배열은 메모리 배치와 같은 방향으로 순회하면 캐시 효율이 좋아진다.
vector push_back은 평균적으로 빠르지만 재할당 시 참조와 iterator가 무효화될 수 있다.
prefix[0] = 0;
for (int i = 0; i < n; ++i) prefix[i + 1] = prefix[i] + a[i];
// sum[l, r) = prefix[r] - prefix[l]