九度[1112]拦截导弹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了九度[1112]拦截导弹相关的知识,希望对你有一定的参考价值。

 1 # include<iostream>
 2 # include<cstring>
 3 # include<algorithm>
 4 using namespace std;
 5 int main(){
 6     int n=0;
 7     int a[30];
 8     int b[30];
 9     int i=0,j=0,max=0;
10     while(cin>>n){
11         memset(b,0,sizeof(b));
12         for(int i=0;i<n;i++)
13             cin>>a[i];
14         b[0]=1;
15         for(i=1;i<n;i++)
16         {
17             max=0;
18             for(j=0;j<i;j++)
19             {
20                 if(a[j]>=a[i])
21                 {
22                     if(b[j]>max)
23                         max=b[j];
24                 }
25             }
26             b[i]=max+1;
27         }
28         max=0;
29         for(i=0;i<n;i++)
30             if(max<b[i])
31                 max=b[i];
32         cout<<max<<endl;
33     }
34     return 0;
35 }

关键公式d[j]=max(d[i]+1|d[i]<=d[j])

以上是关于九度[1112]拦截导弹的主要内容,如果未能解决你的问题,请参考以下文章

1112.拦截导弹(简单的动态规划)

题目1112:拦截导弹 最长递增子序列(LIS)

最少拦截系统

导弹拦截

运动学导弹拦截计算方法matlab源码

codevs1409 拦截导弹 2