Segment Tree
-
BOJ 6549번 히스토그램에서 가장 큰 직사각형 문제 자바(java) 풀이 랭크 : 골드1 백준 6549번 히스토그램에서 가장 큰 직사각형 문제 정리 히스토그램: 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형 각 직사각형을 같은 너비를 가지지만 높이가 다를 수 있다. 히스토그램에서 가장 넓이가 큰 직사각형을 구하는 프로그램을 작성하시오. 문제 풀이 우선 넓이를 어떻게 구해야 하는지 파악해야 합니다. 넓이는 구간에서 높이가 작은 직사각형에 depend 됩니다. 만약 1-3구간에서의 높이가 [3,1,2]라면 높이 1이 가장 작기 때문에 이 구간에서의 넓이는 1x3(구간의 길이)=3이 됩니다. 이 방식을 이용해서 1-1, 1-2, 1-3, ... 1-n 2-1, 2-2, 2-3, ... 2-n ... n..
[세그먼트 트리, 분할정복] 백준 6549번 히스토그램에서 가장 큰 직사각형 자바(java) 풀이BOJ 6549번 히스토그램에서 가장 큰 직사각형 문제 자바(java) 풀이 랭크 : 골드1 백준 6549번 히스토그램에서 가장 큰 직사각형 문제 정리 히스토그램: 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형 각 직사각형을 같은 너비를 가지지만 높이가 다를 수 있다. 히스토그램에서 가장 넓이가 큰 직사각형을 구하는 프로그램을 작성하시오. 문제 풀이 우선 넓이를 어떻게 구해야 하는지 파악해야 합니다. 넓이는 구간에서 높이가 작은 직사각형에 depend 됩니다. 만약 1-3구간에서의 높이가 [3,1,2]라면 높이 1이 가장 작기 때문에 이 구간에서의 넓이는 1x3(구간의 길이)=3이 됩니다. 이 방식을 이용해서 1-1, 1-2, 1-3, ... 1-n 2-1, 2-2, 2-3, ... 2-n ... n..
2020.03.25 -
BOJ 2517번 달리기 문제 자바(java) 풀이 랭크 : 플레티넘5 백준 2517번 달리기 문제 정리 자기보다 앞에 달리고 있는 선수들 중 평소 실력이 자기보다 좋은 선수를 앞지르는 것은 불가능하다. 평소 실력이 자기보다 좋지 않은 선수가 앞에 달리고 있다면 남은 거리 동안 앞지르는 것이 가능하다. 자신이 앞으로 얻을 수 있는 최선의 등수를 알 수 있다. 각 선수의 평소 실력이 주어진다.(클 수록 실력 上) 선수의 평소 실력이 앞에서 부터 주어질때 각 선수의 최선의 등수를 계산하여라. 문제 풀이 자신보다 앞에 있는 사람중 실력이 더 낮은 사람들의 수를 구하면 됩니다. 다음 두 가지 방법으로 풀 수 있습니다. merge sort 풀이 선수들의 실력과 index를 Num 객체아 담아 저장합니다. merg..
[BOJ] 백준 2517번 달리기 자바(java) 풀이 (merge sort 풀이, segment tree 풀이)BOJ 2517번 달리기 문제 자바(java) 풀이 랭크 : 플레티넘5 백준 2517번 달리기 문제 정리 자기보다 앞에 달리고 있는 선수들 중 평소 실력이 자기보다 좋은 선수를 앞지르는 것은 불가능하다. 평소 실력이 자기보다 좋지 않은 선수가 앞에 달리고 있다면 남은 거리 동안 앞지르는 것이 가능하다. 자신이 앞으로 얻을 수 있는 최선의 등수를 알 수 있다. 각 선수의 평소 실력이 주어진다.(클 수록 실력 上) 선수의 평소 실력이 앞에서 부터 주어질때 각 선수의 최선의 등수를 계산하여라. 문제 풀이 자신보다 앞에 있는 사람중 실력이 더 낮은 사람들의 수를 구하면 됩니다. 다음 두 가지 방법으로 풀 수 있습니다. merge sort 풀이 선수들의 실력과 index를 Num 객체아 담아 저장합니다. merg..
2020.03.19