본문 바로가기

분할정복10

[알고스팟/C,C++] FANMEETING: 팬미팅 www.algospot.com/judge/problem/read/FANMEETING algospot.com :: FANMEETING 팬미팅 문제 정보 문제 가장 멤버가 많은 아이돌 그룹으로 기네스 북에 올라 있는 혼성 팝 그룹 하이퍼시니어가 데뷔 10주년 기념 팬 미팅을 개최했습니다. 팬 미팅의 한 순서로, 멤버들과 참가 www.algospot.com 되게 어려운 문제라 알고리즘 문제 해결 전략(종만북)의 풀이를 참고하여 풀었습니다. 예제 입력인 FFFMMM, MMMFFF의 경우를 봅시다. 이는 F는 0으로 M은 1로 바꿔, 수열의 곱으로 나타낼 수 있습니다. 팬의 경우 역순으로 곱해주면 되는데요. 멤버와 팬의 각 자리별 곱의 결과는 해당 팬이 해당 멤버와 포옹을 하는지 악수를 하는지를 나타냅니다. 가령.. 2021. 3. 31.
[백준/C,C++] 2261번: 가장 가까운 두 점 www.acmicpc.net/problem/2261 2261번: 가장 가까운 두 점 첫째 줄에 자연수 n(2 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 줄에는 차례로 각 점의 x, y좌표가 주어진다. 각각의 좌표는 절댓값이 10,000을 넘지 않는 정수이다. 여러 점이 같은 좌표를 가질 수도 www.acmicpc.net www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net 개인적으로 문제를 처음 봤.. 2021. 3. 29.
[백준/C,C++] 6549번: 히스토그램에서 가장 큰 직사각형 www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net hackids.tistory.com/59 [알고스팟/C,C++] FENCE: 울타리 잘라내기 www.algospot.com/judge/problem/read/FENCE algospot.com :: FENCE 울타리 잘라내기 문제 정보 문제 너비가 같은 N개의 나무 판자를 붙여 세운 울타리가 있습니다. 시간이 지남에 따라 판자들이 부러지거나 망가.. hac.. 2021. 3. 28.
[알고스팟/C,C++] FENCE: 울타리 잘라내기 www.algospot.com/judge/problem/read/FENCE algospot.com :: FENCE 울타리 잘라내기 문제 정보 문제 너비가 같은 N개의 나무 판자를 붙여 세운 울타리가 있습니다. 시간이 지남에 따라 판자들이 부러지거나 망가져 높이가 다 달라진 관계로 울타리를 통째로 교체 www.algospot.com 도무지 풀이가 떠오르지 않아 알고리즘 문제 해결 전략의 코드를 참고하여 풀었습니다 ㅜㅜ 반으로 잘라도 옆의 사각형과 연결을 시켜야 하는데 이 부분에서 애를 많이 먹었는데요. 중간을 기점으로 분할한 왼쪽과 오른쪽 중 큰 사각형을 받아오고 그 사각형을 기준으로 현재 검색할 구간의 끝까지 사각형을 합쳐 더 큰 사각형을 계속 반환합니다. int dv(int left, int right.. 2021. 3. 27.