목록백준 구간 합 구하기 (2)
어흥
문제 링크: www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 1. 주의할 점 - 세그먼트 트리에 대해 알고 있어야 한다 2. 구현 - Arr[] 배열을 통해 입력받는 수들을 저장한다(Index: 0~Num-1) - ceil(log2(Num))을 통해 Height을 구한다. Tree[] 배열을 만들 경우, Num보다 크거나 같은 2의 제곱수 중 가장 작은 제곱수*2만큼의 공간이 필요하기 때문이다. - ..
문제 링크: www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 1. 주의할 점 - 매 TC마다 구하지 않고, 각 열의 1~N까지의 합을 Arr[][N]에 저장한다 2. 구현 - Arr[M][N] = Arr[M][N-1] + [M][N]에 입력받는 수를 저장한다 - 각 쿼리마다 Arr[][Y2]-Arr[][Y1-1] 까지의 합을 X1~X2행까지 수행하여 출력한다 #include using namespace std; lo..