본문 바로가기
반응형

{ Problem Solving }/Segment Tree3

[세그먼트 트리/파이썬] 백준 6549번: 히스토그램에서 가장 큰 직사각형 / 플래5 https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net import sys sys.setrecursionlimit(10**5) input = sys.stdin.readline def merge(left, right): if left[0] < right[0]: return left else: return right def build(node, left, right): if left == right.. 2022. 4. 6.
[세그먼트 트리/파이썬] 백준 2357번: 최솟값과 최댓값 / 골드 1 https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = [] for _ in range(n): nums.append(int(input())) s_tree = [[0 for _ in range(2)] for _ in range(4*n)] def merge(left, right):.. 2022. 4. 5.
[세그먼트 트리/파이썬] 백준 2042번 : 구간 합 구하기 / 골드 1 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 import sys input = sys.stdin.readline n, m, k = map(int, input().split()) lst = [] for _ in range(n): lst.append(int(input())) def merge(left, right): return left + right def build(stree, no.. 2022. 3. 27.
반응형