Berechnung der Asymptotik - 9
Задача
Для приведенного ниже кода, найдите асимптотику:
#einschließen <bits/stdc ++.h>
verwenden des Namespace std;
int Haupt()
{
int n, m;
vektor < Vektor<int> > up1(n, Vektor <int>(m));
int ans = 0;
für (int i = 1; i <= n; i++)
{
vektor <int> L(m + 1, 1), R(m + 1, m);
stapel <int> q;
für (int j = 1; j <= m; j++)
{
während (!q.leer () && nach oben 1[i][j] < nach oben 1[i][q.top()])
{
R[q.top()] = j - 1;
();
}
q.drücke(j);
}
während (!q.leer())
();
für (int j = m; j >= 1; j--)
{
während (!q.leer () && nach oben 1[i][j] < nach oben 1[i][q.top()])
{
L[q.top()] = j + 1;
();
}
q.drücke(j);
}
für (int j = 1; j <= m; j++)
ans = max(ans, up1[i][j] * (R[j] - L[j] + 1 < /spanne>));
}
cout << ans;
rückgabe 0;
}
1) O (n + m) & nbsp; & nbsp; & nbsp; 2) O (Nanometer) 3) O(n ^2 * m) & nbsp; & nbsp; 4) O (n * m ^ 2)
Выберите правильный ответ, либо введите его в поле ввода
Комментарий учителя