Volta.guideVolta.guide
Home
Introduzione
Materiale
Risorse
Algobadge
Home
Introduzione
Materiale
Risorse
Algobadge
  • Poldo

Poldo

link
Lis (longest increasing subsequence), basta O(N^2)

Codice:
#include <bits/stdc++.h>
using namespace std;

int main(){
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
  int n; cin >> n;
  vector<int> p(n); 
  for(int i = 0; i<n; i++) cin >> p[i];
  vector<int> dp(n, 1); 
  for(int i = 1; i<n; i++){
    for(int j = 0; j<i; j++){
      if(p[j]>p[i]) dp[i] = max(dp[i], dp[j]+1);
    }
  }
  int sol = 1;
  for(int i = 0; i<n; i++) sol = max(sol, dp[i]);
  cout << sol <<'\n';
}
Last Updated:
Contributors: nik-din