티스토리 뷰
문제 출처: https://www.acmicpc.net/problem/1965
1965번: 상자넣기
정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가
www.acmicpc.net
가장 긴 증가하는 부분 수열을 찾으면 되는 문제이다.
dp[i] < dp[0~i-1]+1 인 경우 dp[i]를 갱신하여주며 가장 긴 수열을 찾아낸다.
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int N;
cin >> N;
int arr[1001];
for (int i = 0; i < N; i++) {
cin >> arr[i];
}
int dp[1001];
fill(&dp[0], &dp[1001], 1);
int maxV = 1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < i; j++) {
if (arr[i] > arr[j]) {
if (dp[i] < dp[j] + 1) {
dp[i] = dp[j] + 1;
if (maxV < dp[i])maxV = dp[i];
}
}
}
}
cout << maxV;
}'PS' 카테고리의 다른 글
| [백준] 11055번 가장 큰 증가 부분 수열 (0) | 2022.06.27 |
|---|---|
| [백준] 1229번 육각수 C++ (0) | 2022.06.26 |
| [백준] 9660번 돌 게임 6 (0) | 2022.06.25 |
| [백준] 9658번 돌 게임 4 (0) | 2022.06.25 |
| [백준] 4848번 집합 숫자 표기법 C++ (0) | 2022.06.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 6018
- 골목길
- 후위 표기식
- 상범빌딩
- 백준
- 11657
- 7511
- tea time
- 어린왕자 C++
- 벨만포드
- C++
- 중위 표기식 후위 표기식으로 변환
- 골목길C++
- 6539
- 소셜네트워킹어플리케이션
- 1918
- 1738
- 타임머신
- 벨만-포드
- 스택
- 1004
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
