Tags

5 pages

SegmentTree

[Algorithm] C++/Python 백준 16978번 : 수열과 쿼리 22

백준 16978번 문제는 여러 버전의 수열 상태에서 구간 합 쿼리와 값을 갱신하는 쿼리를 빠르게 처리해야 합니다. 이를 위해 영속적 세그먼트 트리(Persistent Segment Tree)를 활용하여, 각 업데이트마다 새로운 버전을 효율적으로 관리하며, 원하는 시점의 구간 합을 O(log N)에 계산할 수 있습니다. 본 글에서는 문제의 요구사항, 제한 사항, 데이터 구조의 원리와 구현 방법을 상세히 설명합니다.
[Algorithm] C++/Python 백준 16978번 : 수열과 쿼리 22

[Algorithm] C++/Python 백준 11505번 : 구간 곱 구하기

백준 11505번 구간 곱 구하기 문제는 수의 변경과 구간 곱 계산이 빈번한 대규모 수열에서 효율적으로 쿼리를 처리하는 알고리즘을 다룹니다. 세그먼트 트리를 활용해 구간 곱 쿼리와 갱신 연산을 모두 O(log N)에 해결하며, 잘못된 곱셈 및 오버플로우를 피하기 위해 모듈러 연산(1,000,000,007)을 적재적소에 적용합니다. 대규모 입력 데이터에도 빠르게 대응하는 실전 알고리즘 문제로, 자료구조 설계와 연산 최적화, 수학적 예외 처리를 모두 경험할 수 있습니다.
[Algorithm] C++/Python 백준 11505번 : 구간 곱 구하기