코딩/백준 (C++)
백준 11505번: 구간 곱 구하기 (C++)
접근 https://www.acmicpc.net/problem/11505 11505번: 구간 곱 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 곱을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 세그먼트 트리를 이용하여 답을 구할 수 있다. 세그먼트 트리란 구간 합을 빠르게 구할 때 자주 사용하는 알고리즘으로써 예를 들어 10개의 요소가 있다면 1번 노드에 1~10 까지의 합을 계산해두고, 그 자식 노드인 2, 3번 노드에 각각 0~5, 6~10 까지의 합을 계산해둔다. 이를 반복하여 트리의 맨 아래까지 모두 계산해두면,..
2022. 5. 19. 11:56
최근댓글