[백준/C++] 11055번: 가장 큰 증가하는 부분 수열(S2)
문제 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net 이 문제랑 굉장히 유사함 2022.01.19 - [PS/Baekjoon] - [백준/C++] 11053번: 가장 긴 증가하는 부분 수열(S2) 사용한 알고리즘 2022.01.19 - [PS/Algorithm] - [알고리즘 개념정리] 3. 동적계획법(DP) 풀이 배열 arr에는 수열 A를 저장하고, dp[i]에는 dp[i]로 끝나는 ..
2022. 1. 19.
[백준/C++] 11053번: 가장 긴 증가하는 부분 수열(S2)
문제 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 가장 긴 증가하는 부분 수열을 Longest Increasing Sequence (LIS)라고 부른다. LIS문제를 DP로 풀면 O(N^2), lower_bound로 풀면 O(NlogN), segment tree로 풀면 O(NlogN) 이다. 이 문제는 1 ≤ N ≤ 1,000 이므로 DP를 이용해 풀어보려한다. ..
2022. 1. 19.