-
[알고리즘/DP] 백준 11055번: 가장 큰 증가 부분 수열 - C++알고리즘/백준 2020. 12. 12. 21:56728x90
11055번: 가장 큰 증가 부분 수열
수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수
www.acmicpc.net
다이나믹 프로그래밍(DP)을 이용하였다
#include <iostream> #include <algorithm> using namespace std; int a[1000], d[1000]; int main() { int n, ans = 0; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n; i++) { d[i] = a[i]; for (int j = 0; j < i; j++) { if(a[i] > a[j]) d[i] = max(d[i], d[j] + a[i]); } } for (int i = 0; i < n; i++) ans = max(ans, d[i]); cout << ans; }
github.com/waves123/11055/blob/master/11055/11055.cpp
waves123/11055
baekjoon 11055. Contribute to waves123/11055 development by creating an account on GitHub.
github.com
다이나믹 프로그래밍 문제
2020/12/12 - [알고리즘] - [알고리즘/DP] 백준 1912번: 연속합 - C++
2020/12/12 - [알고리즘] - [알고리즘/DP] 백준 11055번: 가장 큰 증가 부분 수열 - C++
2020/12/12 - [알고리즘] - [알고리즘/DP] 백준 11052번: 카드 구매하기 - C++
2020/12/12 - [알고리즘] - [알고리즘/DP] 백준 9095번: 1,2,3 더하기 - C++
728x90'알고리즘 > 백준' 카테고리의 다른 글
[알고리즘/BFS] 백준 2606번: 바이러스 - C/C++ (0) 2021.03.05 [알고리즘/DP] 백준 1912번: 연속합 - C++ (2) 2020.12.12 [알고리즘/DP] 백준 11052번: 카드 구매하기 - C++ (0) 2020.12.12 [알고리즘/DP] 백준 9095번: 1,2,3 더하기 - C++ (0) 2020.12.12 [알고리즘/DP] 백준 11726번: 2xn 타일링 - C++ (0) 2020.12.12