1. 누적합 알고리즘이란?
•
(전처리 후에) 1차원 배열 또는 2차원 배열에서 연속된 구간의 합을 만에 구하는 알고리즘.
1차원 배열에서 누적합 알고리즘
•
배열의 길이를 이라고 할 때, 의 전처리를 수행하면 된다.
•
DP Table 설계
: ~번째 원소까지의 합
•
관계식
◦
•
부터 까지 원소의 합을 구하는 방법
◦
아래와 같은 문제에서 열을 끊어주는 경우에 0으로 비교하는 로직 생각이 어려웠다.
2차원 배열에서 누적합 알고리즘
•
2차원 배열의 세로 길이를 , 가로 길이를 이라고 할 때, 의 전처리를 수행하면 된다.
•
DP Table 설계
: (1, 1)부터 (n, m)까지의 2차원 합
•
관계식
•
(sy, sx)부터 (ey, ex)까지의 2차원 합 구하는 방법
누적합 알고리즘은 언제 쓸까?
1차원 배열의 누적합
•
연속된 합의 구간을 여러 번 구해야 할 때 쓰면 효율적이다.
◦
→
2차원 배열의 누적합
•
2차원 합을 여러 번 구해야 할 때 쓰면 효율적이다.
◦
→