반응형

2024/11/06 3

[P5] 백준 1989번 부분배열 고르기 2 C++ 세그먼트 트리

리뷰 https://www.acmicpc.net/problem/1989 [P5] 백준 2104번 부분배열 고르기 C++ 세그먼트 트리리뷰 https://www.acmicpc.net/problem/2104구간의 누적합과 최소값의 인덱스를 저장한 세그먼트 트리를 구현하고 구간의 누적합 * 구간의 최소값이 가장 큰 케이스를 찾아 출력하는 문제  전역 변수n :zzzz955.tistory.com위 문제와 동일하나 구간의 범위까지 출력해 주어야 하는 문제  전역 변수MAX_N : n값의 최대값을 저장할 정수형 상수 변수n : 배열의 길이를 저장할 변수nodes : 배열의 정보를 저장할 정수형 배열, 크기는 MAX_NminTree : 최소값의 인덱스를 저장할 세그먼트 트리, 크기는 MAX_N * 4Res : 구간의..

[P5] 백준 2104번 부분배열 고르기 C++ 세그먼트 트리

리뷰 https://www.acmicpc.net/problem/2104구간의 누적합과 최소값의 인덱스를 저장한 세그먼트 트리를 구현하고 구간의 누적합 * 구간의 최소값이 가장 큰 케이스를 찾아 출력하는 문제  전역 변수n :주어지는 배열의 길이MAX_N : n의 최대값nodes : 배열 정보를 저장할 정수형 배열, 크기는 MAX_N으로 세팅한다.minTree : 최소값의 인덱스를 저장할 세그먼트 트리 크기는 MAX_N * 4sumTree : 구간의 합을 저장할 세그먼트 트리 크기는 MAX_N * 4 함수1. minBuildvoid minBuild(ll node, ll s, ll e) minTree를 초기화 하기 위한 함수리프 노드에 s혹은 e로 각 배열의 인덱스를 저장해 준다.리프 노드가 아닐 경우 s ..

[P5] 백준 1725번 히스토그램 C++ 세그먼트 트리

리뷰 https://www.acmicpc.net/problem/1725주어진 히스토그램에 대해, 가장 큰 직사각형의 넓이를 구하는 문제세그먼트 트리를 활용해 히스토그램의 각 높이를 비교하고 구간에서 가장 작은 높이의 인덱스를 관리해 준다.query를 수행하며 각 구간에서의 가장 작은 높이를 가진 막대 기준으로 만들 수 있는 사각형의 최대 넓이를 구한다.  전역 변수n : 주어지는 히스토그램의 개수MAX_N : n이 입력될 수 있는 최대의 수, 10만으로 저장했다.nodes : 히스토그램의 정보를 저장할 정수형 배열, 크기는 MAX_N으로 초기화 한다.tree : 세그먼트 트리 정보를 저장할 정수형 배열, 크기는 MAX_N * 4로 초기화 한다. 함수1. buildvoid build(int node, in..

728x90
반응형