본문 바로가기

Algorithm37

[BOJ/C+]11054 가장 긴 바이토닉 부분 수열 https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 문제 피라미드 모양과 같이 $S_1>n; int arr[n+1]; for(int i=1;i>arr[i]; int dp[n+1][2];//올라가는거 0,내려가는거1에 저장 for(int i=1;i 2020. 7. 29.
[BOJ/C++]11722번 가장 긴 감소하는 부분 수열 https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} � www.acmicpc.net 문제 수열 A가 주어졌을 때 가장 긴 감소하는 부분 수열을 구해라 풀이 https://lionontheshore.tistory.com/38?category=929275 [BOJ/C++]11053번 가장 긴 증가하는 부분수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하.. 2020. 7. 29.
[BOJ/C++]11055번 가장 큰 증가 부분 수열 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수� www.acmicpc.net 문제 수열 A가 주어졌을 때 그 수열의 증가 부분 수열 중 합이 가장 큰 것을 출력하는 프로그램 풀이 과정 https://lionontheshore.tistory.com/38 [BOJ/C++]11053번 가장 긴 증가하는 부분수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수.. 2020. 7. 29.
[BOJ/C++]11053번 가장 긴 증가하는 부분수열 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 문제 수열이 주어졌을 때, 순서대로 증가하는 숫자 중 가장 긴 것을 찾는 문제 풀이 방식 배열 arr에 n개의 수를 입력받는다. i번째까지 연속된 증가하는 숫자의 갯수를 저장하는 배열 dp[n+1]을 만들어준다. dp[1]에 1을 대입하고(첫번째 수는 무조건 연속된 길이가 1인 부분수열 이므로), j가 1부터 i까지 a.. 2020. 7. 29.
[BOJ/C++]2156번 포도주 시식 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 문제 각각 양이 주어져있는 n잔의 포도주가 있다. 연속 3잔 이상의 포도주는 마실 수 없다. 이 때 가장 많이 먹을 수 있는 포도주의 양을 구해라. 풀이 방법 grape[n+1]배열에 n잔의 포도주 양을 받고, dp[n+1]배열로 포도주 양의 최대값을 구했다. 이렇게 세 가지 경우로 나누어 최댓값을 구해주었다. dp[i]=max(max(dp[i-2],dp[i-3]+grape[i-1])+grape[i.. 2020. 7. 29.
[BOJ/C++]9465번 스티커 https://www.acmicpc.net/problem/9465 9465번: 스티커 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티 www.acmicpc.net 문제 스티커 2n개를 구입했다. 스티커는 2xn 행렬로 배치되어 있다. 서로 변을 공유하는 스티커는 뗄 수 없는 조건에서 스티커 점수 합의 최대값을 구해라. 풀이방법 처음에 엄청 어렵게 생각해서 헤맸던 문제. 문제 풀이의 핵심은 이렇다. 이전 column의 스티커는 더하지 않을 수 있다. 어차피 최댓값을 구하는 문제면 2칸 이상 건너지 않는다. 따라서 i번째 column에서는 "i-1 column에서.. 2020. 7. 29.