BOJ : https://www.acmicpc.net/problem/2352
github : https://github.com/junho0956/Algorithm/blob/master/11568/11568/%EC%86%8C%EC%8A%A4.cpp
문제 해결을 위한 알고리즘 : lis, dp, greedy
lis 알고리즘을 이용하여 문제를 해결하였고
꼬이지않은 lis 배열 안에 들어간 size 가 최대한 연결할 수 있는 포트가 된다.
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
|
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
typedef vector<int> LIS;
LIS lis;
int main() {
int n, arr[40001], L;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
L = 0, lis.push_back(arr[0]);
for (int i = 1; i < n; i++) {
if (arr[i] > lis[L])
lis.push_back(arr[i]), L++;
else {
vector<int>::iterator ans = lower_bound(lis.begin(), lis.end(), arr[i]);
*ans = arr[i];
}
}
printf("%d", lis.size());
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
복습 20.02.10
'algorithm > BOJ' 카테고리의 다른 글
백준 : 1516번 - 게임 개발 Junnnho (0) | 2019.05.14 |
---|---|
2568번 : 전깃줄2 - Junnnho (0) | 2019.04.08 |
BOJ 2565번 전깃줄 (0) | 2019.04.08 |
BOJ 14501번 퇴사 (0) | 2019.04.07 |
6603번 : 로또 - junnnho (0) | 2019.04.07 |