文章标题

来源:互联网 发布:淘宝推广员工资待遇 编辑:程序博客网 时间:2024/06/09 14:19

[简单DP]N - Longest Ordered Subsequence POJ - 2533
题意:最长递增子序列,n<=1000
分析:比较好理解的就是O(n*n)复杂度的。。。。还可以通过二分优化成o(n*logn)的。。。我用的前者
代码:

#include<stdlib.h>#include<string.h>#include<algorithm>#include<math.h>#include<stdio.h>#include<queue>using namespace std;int num[1005];int dp[1005];int main(){     int n;     while(~scanf("%d",&n))     {      for(int i=1;i<=n;i++)       scanf("%d",&num[i]);      memset(dp,0,sizeof(dp));      int Max=-1;      for(int i=1;i<=n;i++)      {       dp[i]=1;       for(int j=1;j<i;j++)       {          if(num[j]<num[i])           dp[i]=max(dp[j]+1,dp[i]);       }       if(Max<dp[i])        Max=dp[i];      }      printf("%d\n",Max);     }     return 0;}
原创粉丝点击