[백준 - 2243] 사탕상자 - Java
https://www.acmicpc.net/problem/2243 2243번: 사탕상자 첫째 줄에 수정이가 사탕상자에 손을 댄 횟수 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 줄에는 두 정수 A, B, 혹은 세 정수 A, B, C가 주어진다. A가 1인 경우는 사탕상자에서 사탕을 꺼내는 경우이 www.acmicpc.net n번째 맛의 사탕을 꺼내거나, 넣는 경우이다. n번째 맛의 사탕의 개수는 변동된다. 사탕의 맛은 최대 1,000,000까지 있고, 사탕상자에는 최대 100,000번 손을 대고, 사탕의 최대 개수는 2,000,000,000이다. 인덱스 트리로 응용하면 아주 쉬운 문제이다. 첫 번째로 맛있는 사탕이 2개, 세 번째로 맛있는 사탕이 3개 들어있을 때, 사탕상자에서 네 번째로 ..
[백준 - 2042] 구간 합 구하기 - Java
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번째 줄 www.acmicpc.net 인덱스 트리를 구현하는 문제이다. 인덱스 트리의 method는 init, query, update가 있으며, bottom-up, top-down으로 모두 구현할 수 있다. 개념자체는 어렵지 않다. Bottom-up으로 풀리지 않는 문제를 Top-down으로 풀 수 있기 때문에 두가지 approach를 모두 익힐 시간이 없다면 top-dow..