[C++] 백준 11055번 : 가장 큰 증가 부분 수열 (S2)
#문제 www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net #풀이 & 학습한 내용 supremo7.tistory.com/92에서는 길이를 구했다면, 이 문제에서는 수의 합에 대해 살핀다. 따라서 맨 처음 그 수만 포함할때인 p[i]를 dp[i]에 저장하고, 그 앞의 수들에 대해 p[j] dp[i]를 통해 dp[i]를 갱신하며 결정한다. 그리고 dp배열의 값들 ..
[C++] 백준 11722번 : 가장 긴 감소하는 부분 수열 (S2)
#문제 www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net #풀이 & 학습한 내용 supremo7.tistory.com/92에서 푼 문제에서 부호만 바뀐 문제이다. 맨 처음 그 수만 선택되었을 때인 1을 모두 넣어주고, 그 수 앞의 수들에 대해 p[j] > p[i] && dp[j] + 1 > dp[i]을 통해 dp[i]값을 결정한다. 그리고 dp배열 중 최댓값으로 답을 출력해준다. #소스..