int LIS() {
v.push_back(-1000000001);
for (int i = 0; i < n; ++i) {
if (arr[i] > v.back()) {
v.push_back(arr[i]);
cnt++;
}
else {
deque ::iterator itr = lower_bound(v.begin(), v.end(), arr[i]);
*itr = arr[i];
}
}
return cnt;
}
*주의 : 배열의 순서는 고려하지 않음
'공식' 카테고리의 다른 글
char >> int형으로 만들어 주기 위해 - '0' 을 한다 (0) | 2020.02.24 |
---|---|
최단거리 알고리즘(다익스트라, 벨만포드, 플로이드워셜) (0) | 2020.02.18 |
https://www.acmicpc.net/problem/9471 (0) | 2020.01.30 |
행렬 제곱 (0) | 2020.01.28 |
손익분기점 공식 (0) | 2020.01.16 |