image.png

求最长递增子序列

  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<vector>
  4. using namespace std; //动态规划
  5. int main(){
  6. int N;
  7. while(cin>>N)
  8. {
  9. vector<int> Data(N,0);
  10. vector<int> Dp(N,1);
  11. int ret = 0;
  12. for(int i=0; i<N; ++i)
  13. {
  14. cin >> Data[i];
  15. for(int j=0; j<i; j++)
  16. {
  17. if(Data[i]>Data[j])
  18. Dp[i] = max(Dp[i],Dp[j]+1);
  19. }
  20. ret = max(ret,Dp[i]);
  21. }
  22. cout<< ret<<endl;
  23. }
  24. return 0;
  25. }