알고리즘/알고리즘 이론, 템플릿

O(nlogn) LIS

b1ackhand 2023. 3. 28. 10:29
ll M, N, K;
vector<ll> lis;
vector<ll> v;
ll ans = 0;

cin >> N;

for (int i = 0; i < N; i++)
{
	cin >> K;
	v.push_back(K);
}

lis.push_back(-INF);

for (int i = 0; i < N; i++)
{
	if (lis.back() < v[i])
	{
		lis.push_back(v[i]);
		ans++;
	}
	else
	{
		auto it = lower_bound(lis.begin(), lis.end(), v[i]);
		*it = v[i];
	}
}

'알고리즘 > 알고리즘 이론, 템플릿' 카테고리의 다른 글

이분매칭  (0) 2023.06.02
MST - Kruskal  (0) 2023.04.03
c++ 문자열 slicing 및 파싱  (0) 2023.03.14
shift 연산과 오버플로우  (0) 2023.03.06
에라토스테네스의체  (0) 2023.01.25