코테3 누적합 응용(feat. 2차원 배열) 2차원 배열에 대한 구간합 문제가 나왔는데 내용이 기록하기 좋은 것 같아서 작성해보려고 한다.누적합에 대한 내용보다는 문제를 살펴보면서 어떻게 누적합을 사용해서 풀었는지에 대해서 얘기하려고 한다.누적합(Prefix Sum)에 관한 내용은 아래를 참고해 주세요.누적합(Prefix Sum)백준 11660번 구간 합 구하기 5문제 내용을 간단히 얘기하자면 N⋅N 크기의 표가 주어지고 (x1,y2)부터 (x2,y2)까지 합을 구하는 것이다.ex) N=4이고, 표가 아래와 같이 채워져 있는 경우. (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6=27이다.1234234534564567 이때 누적합을 어떻게 사용하는지 알아보려고 한다.먼저 .. 2025. 2. 23. 분배법칙(Distributive Property) 알고리즘 문제를 풀다가 분배법칙에 관한 수학적인 문제가 나와 기억하기 위해 작성한다.분배법칙(Distributive Property)집합 S와 S에 대해 닫혀있는 두 이항 연산 *, +가 정의되어 있을 때, S의 임의의 원소 a, b, c에 대해a∗(b+c)=(a∗b)+(a∗c) 가 성립하면 (+에 대한 *의) 좌분배법칙이,(b+c)∗a=(b∗a)+(c∗a) 가 성립하면 (+에 대한 *의) 우분배법칙이 성립한다고 하며,위 두 가지가 모두 성립할 경우 집합 S에서 연산 *은 연산 +에 대해 분배법칙(+에 대한 *의 (양쪽) 분배법칙)이 성립한다고 한다. 두 항을 곱할 때 각 항들을 나누어 곱한 후 더하는 방식이다.즉, "(3 + 2) x 4"가 있.. 2025. 2. 19. 누적합(Prefix Sum) 누적합(Prefix Sum)누적합은 요소들의 누적된 합의 의미를 얘기합니다.배열의 첫 번째 0번째 배열의 요소부터 누적시키면서 더한 배열을 활용합니다. 일부 구간에 대한 합을 구하는 문제에서 사용이 됩니다. 단, 배열의 값들이 변하지 않는다는 전제가 필요합니다. N=5 인 N 크기의 정수 배열 arr이 있을 때 여러 개의 구간 [a, b]에 대해 합을 구하려고 합니다. 1≤a≤b≤Narr[a]+arr[a+1]+⋯+arr[b]Index i01234arr[i]16425 간단하게 생각할 수 있는 방법은 반복문을 돌려서 각 요소를 더하는 것입니다. 이 방법은 각 쿼리에 대해 최대 O(N) 시간 복잡도를 가지고, 만약 M개의 쿼리가 주어지면 시간 .. 2025. 1. 19. 이전 1 다음