반응형
※ 구간합을 구하는 효율적인 방법
Prefix Sum
: psum[i] = 첫번째 원소부터 i 번째 원소까지의 구간 합
A[i] = psum[i] - psum[i-1]
ex) A[3] = -4 = psum[3] - psum[2] = -3 - 1 = -4
psum[]을 이용한 특정 구간 합
▶ 구간 [8, 9] 합 = psum[9] - psum[7] = 19 - (-2) = 21 = A[8] + A[9] = 13 + 8
↔ psum[9] - psum[7] = (1~9까지의 합) - (1~7 까지의 합) = (8 ~ 9까지의 합)
Reference
- 연속된 부분 합(연속합) - 2 (Prefix Sum)
- [구간합] Sum of sub-matrix (2D Array)
관련 문제
반응형
'알고리즘' 카테고리의 다른 글
PS시 어떤 정렬을 선택하는 것이 좋을까? (0) | 2021.03.02 |
---|---|
합병 정렬(Merge Sort) (0) | 2021.03.02 |
연속된 부분 합(연속합) - 3 (DP) (0) | 2021.02.28 |
알고리즘 문제에서 시간 복잡도는 어떻게 하는걸까? (빅-오) (0) | 2021.02.28 |
행렬 90° 회전 (C 언어) (0) | 2021.02.28 |
댓글