본문 바로가기

세그먼트 트리

(5)
[백준] 16975. 수열과 쿼리 21 - 파이썬 풀이. 이진 트리를 이용해서 리프노드만을 이용해서 풀었다. 리프노드들을 제외한 노드들은 구간합을 구하는 문제가 아니라서 저장될 필요가 없다. 소스코드.
[백준] 2357 최솟값과 최댓값 - 파이썬 풀이. 기존에 봤던 구간 합, 구간 곱이 아닌 구간의 최솟값, 최댓값을 구해야하는 문제이다. 우선 세그먼트 트리에 대해 알고있다면 간단하게 풀 수 있는데 최솟값을 저장하는 트리와 최댓값을 저장하는 트리를 따로 만들어서 각각의 트리를 초기화 하고 쿼리를 실행하면 된다. 소스코드.
[백준] 11505 구간 곱 구하기 - 파이썬 풀이. 세그먼트 트리에대한 설명은 https://turret1234.tistory.com/229 [백준] 파이썬 2042 - 구간 합 구하기 풀이 . 세그먼트 트리를 이용하여야 한다. 세그먼트 트리(Segment Tree)란? 세그먼트 트리는 다음 두 연산을 어떻게 더 효율적으로 할 수 있을까라는 고민에서 출발한다. 1. 구간 l, r(l
[백준] 파이썬 2042 - 구간 합 구하기 풀이 . 세그먼트 트리를 이용하여야 한다. 세그먼트 트리(Segment Tree)란? 세그먼트 트리는 다음 두 연산을 어떻게 더 효율적으로 할 수 있을까라는 고민에서 출발한다. 1. 구간 l, r(l
[백준] 11659 구간 합 구하기 4 - 파이썬 문제. 풀이. 1~n 까지의 합을 미리 구해서 리스트에 저장한 다음에 입력받은 수를 p1, p2라고 하면 sum[p2] - sum[p1-1]을 출력해주면 된다. 소스코드.