백준
-
[알고리즘] 세그먼트 트리 ( Segment Tree )IT 발자취.../알고리즘 2019. 8. 3. 15:07
요약 : 주어진 쿼리에 대해 빠르게 응답하기 위해 만들어진 자료구조 예제 문제 : https://www.acmicpc.net/problem/2042 ( 구간 합 구하기 ) 예제 문제 코드 : https://gintrie.tistory.com/32 참고 블로그 : https://www.crocus.co.kr/648 예로 1 2 3 4 5라는 배열 arr 이 있다. ( 배열 인덱스가 1부터 시작한다고 가정 ) 2번째 부터 5번째의 구간의 수를 더한다. arr[2] + arr[3] + arr[4] + arr[5]를 구하는 쿼리가 있다. 가장 쉽게 푸는 방법은 모든 경우의 수에서 모든 배열의 수를 다 더해주는 것이다. 지금 당장은 2 + 3 + 4 + 5로 간단히 해결할 수 있지만, arr[3]을 6으로 변경하..
-
[알고리즘] 구간 합 구하기 ( 백준 2042 )IT 발자취.../알고리즘 2019. 8. 3. 15:06
구간 합 구하기 문제 : https://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번째 줄까지 N개의 수가 주어진다. 그리고 N+2번째 줄부터 N+M+K+1번째 줄까지 세 개의 정수 a, b, c가 주어지는데, a가 1인 경우 b번째 수를 c로 바꾸고 a가 2인 경우에는 b번째 수부터 c번째 수까지의 www.acmicpc.net 상세 해설 : https://gintrie.tistory.com/31 import java.io.Buff..