码迷,mamicode.com
首页 > 其他好文 > 详细

NOIP 考前DP 复习

时间:2016-11-06 19:34:50      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:else   for   blog   pen   pos   noi   scanf   turn   int   

POJ 2533 最长不降子序列

技术分享
 1 #include <cstdio>
 2 const int Maxn=1010;
 3 int a[Maxn],Pos[Maxn],F[Maxn],n,Ans;
 4 inline int Max(int x,int y) {return x>y?x:y;}
 5 inline int Find(int x)
 6 {
 7     int l=1,r=Ans,Res;
 8     while (l<=r)
 9     {
10         int mid=(l+r)>>1;
11         if (a[Pos[mid]]<x) Res=mid,l=mid+1;  else r=mid-1;
12     }
13     return Res;
14 }
15 int main()
16 {
17     scanf("%d",&n);
18     for (int i=1;i<=n;i++) scanf("%d",&a[i]);
19     F[1]=1; Pos[1]=1; Ans=1;
20     for (int i=2;i<=n;i++)
21     {
22         int t=Find(a[i]);
23         Pos[t+1]=i;
24         F[i]=t+1;
25         Ans=Max(Ans,F[i]);
26     }
27     printf("%d\n",Ans);
28     return 0;
29 }
POJ 2533

 

NOIP 考前DP 复习

标签:else   for   blog   pen   pos   noi   scanf   turn   int   

原文地址:http://www.cnblogs.com/yyjxx2010xyu/p/6035888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!