Я много искал, но не могу ничего найти о сложности функций.
Я знаю, что в случае std :: set это log (n), но я понятия не имею о векторе .
Я проходил реализацию самой длинной увеличивающейся подпоследовательности, используя векторы и lower_bound.
Также, пожалуйста, расскажите мне о сложности этого кода. Спасибо
int LIS2(vector<int> a) {
vector<int> v;
for (int i = 0; i < a.size(); i++) {
auto it = lower_bound(v.begin(), v.end(), a[i]);
if (it != v.end())
*it = a[i];
else
v.push_back(a[i]);
}
return v.size();
}