개발/백준
[백준] 1965번. 상자넣기 (C++)
yun000
2024. 11. 26. 14:04
문제
https://www.acmicpc.net/problem/1965
풀이
[LIS,DP]
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
//INPUT
int N; cin >> N;
vector<int> box(N);
vector<int>dp(N, 1);
for(int i=0;i<N;i++)
{ cin >> box[i]; }
//CHECK
for (int i = 0; i < N; i++)
{
for (int k = 0; k < i; k++)
{
if(box[i]>box[k])dp[i] = max(dp[i], dp[k] + 1);
}
}
//RESULT
cout << *max_element(dp.begin(), dp.end());
}
동일한 문제
https://yun000.tistory.com/164
[백준] 11055번. 가장 큰 증가하는 부분 수열 (C++)
문제https://www.acmicpc.net/problem/11055풀이[DP, LIS알고리즘]저번에 푼문제랑 비슷해서 후딱풀었다 숫자들을 차례대로 확인한다지금 확인할 숫자가 n번째 숫자라고 하자0~n-1번째 숫자들 중 n번째 숫자
yun000.tistory.com