문제 링크
https://www.acmicpc.net/problem/11568
문제 해결
1. 전형적인 LIS 문제
주의할 점 || 생각해볼 점
-
참고
-
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<cstdio> | |
#include<iostream> | |
#include<string> | |
#include<algorithm> | |
#include<cstring> | |
#include<set> | |
#include<stack> | |
#include<map> | |
#include<cmath> | |
#include<queue> | |
#include<cstdlib> | |
#include<vector> | |
using namespace std; | |
int N; | |
vector<int> v,ans; | |
int main(){ | |
cin >> N; | |
for(int i=0;i<N;i++){ | |
int temp; | |
scanf("%d",&temp); | |
v.push_back(temp); | |
} | |
for(int i=0;i<N;i++){ | |
if(i==0){ | |
ans.push_back(v[i]); | |
} | |
else{ | |
if(v[i]>ans.back()){ | |
ans.push_back(v[i]); | |
} | |
else{ | |
auto iter = lower_bound(ans.begin(),ans.end(),v[i]); | |
*iter = v[i]; | |
} | |
} | |
} | |
printf("%d\n",ans.size()); | |
return 0; | |
} |
※ 정확하고 부드러운 태클은 언제나 환영입니다.
'Problem Solving > LIS' 카테고리의 다른 글
BOJ 2568 - 전기줄 - 2 (0) | 2017.06.24 |
---|