【动态规划】HDOJ 1257 最少拦截系统

本文介绍了一种算法,用于计算防御导弹袭击所需的最小数量的导弹拦截系统。通过寻找最长非递减子序列来确定最少的系统数量,确保每个系统能有效拦截特定序列的导弹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此题首先想到的是用DP多次求长非递增子串,然后把找出来的最长串从数组里面删除,继续查找,直到找完为止。

但是这样找到得解未必是最优解,因为可能出现多个长度相等得最长非递增字串。默认的是删除第一串。这样得到的解就不一定是最优的了。

 

那么后来baidu后发现只要找到最长非递减字串就可以达到目的。

应该求最长 不降 子序列。这样的长度才是 最少需要的 套数,因为这个序列中的任何两个导弹都不能共用一个拦截系统   ,而且其余的导弹 都能和这个最长序列中的某个导弹分为同一组。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值