Cálculo de asintóticas - 9
Задача
Para el siguiente código, encuentre las asintóticas:
#incluye <bits/stdc++.h>
utilizando espacio de nombres std;
int principal()
{
int n, m;
vector < vector<int span>> > arriba1(n, vector <int>(m));
int y = 0;
para (int i = 1; yo <= n; yo++)
{
vector <int> L(m + 1, 1< /span>), R(m + 1, m);
pila <int>q;
para (int j = 1; j <= m; j++)
{
mientras (!q.empty() && arriba1 [i][j] < arriba1[i][q.arriba()])
{
R[q.top()] = j - 1;
q.pop();
}
qempujar(j);
}
mientras (!q.empty())
q.pop();
para (int j = m; j >= 1; j--)
{
mientras (!q.empty() && arriba1 [i][j] < arriba1[i][q.arriba()])
{
L[q.top()] = j + 1;
q.pop();
}
qempujar(j);
}
para (int j = 1; j <= m; j++)
ans = max(ans, up1[i][j] * (R[j] < span style="color:#666666">- L[j] + 1));
}
cout << ans;
return 0;
}
1) O(n+m) 2) O(nm) 3) O(n^2*m) 4) O(n*m^2)
Выберите правильный ответ, либо введите его в поле ввода
Комментарий учителя