code1044 导弹拦截

分析:

这套系统最多能拦截的导弹数 就是 导弹高度的最长不上升子序列(下降或相等)

如果要拦截所有导弹最少要配备多少套这种导弹拦截系统 就是 导弹高度的最长上升子序列

因此直接用dp求就可以了

 

a[i]为第i个导弹的高度

dp[i]为以i结尾的最长不上升子序列的长度

方程 dp[i] = max( dp[j] ) + 1  (j=i-1 to 1, a[i]<=a[j])

 

最长上升子序列 只要把条件a[i]<=a[j] 改成 a[i]>a[j] 即可

posted @ 2016-03-12 21:51  FuTaimeng  阅读(313)  评论(0编辑  收藏  举报