세그먼트트리 세그먼트트리 구간에서 최소값 구하기 배열 A[1], A[2], … , A[N]가 있고, 이중 A[i], … ,A[j] 중에서 최소 값을 찾아 출력 이러한 연산이 총 Q개 주어짐 1개 : O(N) O(N) , Q개 : O(NQ) N,Q <= 10만 O(NQ)N,Q<=10만 자식 2개 또는 없음. 노드는 start ~ end 까지 최소 값을 가지고 있음 start ~ mid 와 mid+1-end 두 개의 최... 세그먼트트리세그먼트트리 [python] 백준 11505 : 구간 곱 구하기 이 구간 안에 어떤 수가 2였다고 치자. 이 수 2를 3으로 바꾸려고 한다. 그러면 (1조 // 2) * 3 을 해주면 될 것이다. 그래서 우리는 이 1조를 MOD = 1,000,000,007 로 나누었던 것이다. 이 수는 2로 나누어지지도 않는다. 결론적으로 모듈로 연산이 된 수는 나누기 연산에서는 전혀 다른 값이 될 수 있다는 것이다. 우리가 예상한 값이 보장되지 않으므로 기존 값을 나누... 세그먼트트리알고리즘백준파이썬백준 BOJ_6549_히스토그램에서 가장 큰 직사각형 N의 범위가 100,000 이하 이므로 최소한 O(NlogN) 의 시간복잡도를 가져야 한다. 하면 문제 자체의 의미가 없으므로 패스 높이를 기준으로 풀면 O(NM) 이 이미 1초를 훨씬넘기므로 패스 (질의) 그리고 O(NlogN) 의 시간복잡도... 일단 각 구간을 반으로 쪼개어 트리 노드형태로 만들어주자 이렇게 트리 노드를 초기화 하자 . 각 트리노드는 최솟값 인덱스 질의를 처리하기 편하게... 구간질의세그먼트트리스택구간질의 BOJ14428 수열과 쿼리 16 문제 골드I | 백준 14428 | Python3 파이썬 풀이 알고리즘 세그먼트 트리 자료구조를 안다면 쉽게 풀 수 있는 문제이다. 이 문제에서는 우선, 최솟값을 찾기 위해 세그먼트 트리를 사용한다. (최솟값을 알면 인덱스는 당연히 알 수 있다.) 문제와 매우 유사하지만, 최솟값을 출력하는 것이 아닌, 그 값의 인덱스를 출력해야 한다. 이때, 값의 인덱스를 찾기 위해 index() 함수를 사... 세그먼트트리세그먼트트리 머지소트 코드 자료구조세그먼트트리세그먼트트리 세그먼트 트리 코드 자료구조세그먼트트리세그먼트트리
세그먼트트리 구간에서 최소값 구하기 배열 A[1], A[2], … , A[N]가 있고, 이중 A[i], … ,A[j] 중에서 최소 값을 찾아 출력 이러한 연산이 총 Q개 주어짐 1개 : O(N) O(N) , Q개 : O(NQ) N,Q <= 10만 O(NQ)N,Q<=10만 자식 2개 또는 없음. 노드는 start ~ end 까지 최소 값을 가지고 있음 start ~ mid 와 mid+1-end 두 개의 최... 세그먼트트리세그먼트트리 [python] 백준 11505 : 구간 곱 구하기 이 구간 안에 어떤 수가 2였다고 치자. 이 수 2를 3으로 바꾸려고 한다. 그러면 (1조 // 2) * 3 을 해주면 될 것이다. 그래서 우리는 이 1조를 MOD = 1,000,000,007 로 나누었던 것이다. 이 수는 2로 나누어지지도 않는다. 결론적으로 모듈로 연산이 된 수는 나누기 연산에서는 전혀 다른 값이 될 수 있다는 것이다. 우리가 예상한 값이 보장되지 않으므로 기존 값을 나누... 세그먼트트리알고리즘백준파이썬백준 BOJ_6549_히스토그램에서 가장 큰 직사각형 N의 범위가 100,000 이하 이므로 최소한 O(NlogN) 의 시간복잡도를 가져야 한다. 하면 문제 자체의 의미가 없으므로 패스 높이를 기준으로 풀면 O(NM) 이 이미 1초를 훨씬넘기므로 패스 (질의) 그리고 O(NlogN) 의 시간복잡도... 일단 각 구간을 반으로 쪼개어 트리 노드형태로 만들어주자 이렇게 트리 노드를 초기화 하자 . 각 트리노드는 최솟값 인덱스 질의를 처리하기 편하게... 구간질의세그먼트트리스택구간질의 BOJ14428 수열과 쿼리 16 문제 골드I | 백준 14428 | Python3 파이썬 풀이 알고리즘 세그먼트 트리 자료구조를 안다면 쉽게 풀 수 있는 문제이다. 이 문제에서는 우선, 최솟값을 찾기 위해 세그먼트 트리를 사용한다. (최솟값을 알면 인덱스는 당연히 알 수 있다.) 문제와 매우 유사하지만, 최솟값을 출력하는 것이 아닌, 그 값의 인덱스를 출력해야 한다. 이때, 값의 인덱스를 찾기 위해 index() 함수를 사... 세그먼트트리세그먼트트리 머지소트 코드 자료구조세그먼트트리세그먼트트리 세그먼트 트리 코드 자료구조세그먼트트리세그먼트트리