문제
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
'개발 > 백준' 카테고리의 다른 글
[백준] 7576번. 토마토 (C++) (0) | 2024.12.23 |
---|---|
[백준] 11054번. 가장 긴 바이토닉 부분 수열 (C++) (1) | 2024.11.28 |
[백준] 11657번. 타임머신 (C++) (0) | 2024.11.25 |
[백준] 11055번. 가장 큰 증가하는 부분 수열 (C++) (0) | 2024.11.24 |
[백준] 11722번. 가장 긴 감소하는 부분 수열 (C++) (0) | 2024.11.23 |