hdu1257

导弹拦截系统 随时更新dp[i]的值 满足第i个导弹的高度比第j个高的而且dp[i]<dp[j]+1 就更新dp[i]的值

View Code
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int n, i, j, dp[10001], h[10001], min;
 6     while(scanf("%d", &n)!=EOF)
 7     {
 8         for(i = 1 ; i <= n ; i++)
 9         {
10             scanf("%d" , &h[i]);
11             dp[i] = 1;
12         }
13         min = 0;
14         for(i = 1 ; i <= n ; i++)
15         {
16             for(j = i-1 ; j >= 0 ; j--)
17             {
18                 if(h[i]>h[j]&&dp[i]<dp[j]+1)
19                 {
20                     dp[i] = dp[j]+1;
21                     if(min<dp[i])
22                     min = dp[i];
23                 }
24             }
25         }
26         printf("%d\n", min);
27     }
28     return 0;
29 }

 

posted @ 2012-07-07 23:00  _雨  阅读(175)  评论(0编辑  收藏  举报