题解 1627: 蓝桥杯算法训练VIP-拦截导弹

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯算法训练VIP-拦截导弹 (C++代码)贪心

#贪心算法这个算法相比其他的时间复杂度更高,但是更好想。贪心的想法:每次把一个系统能清除的导弹全部清除,直到导弹数为0.```cpp#include#include#include#includeusingnamespacestd;vectora;structlink{intval;intnext;/

蓝桥杯算法训练VIP-拦截导弹-题解(动态规划简单求解)

其实这道题相当于让你求最长的上升子序列和最长的下降的子序列这是样例数据:38920715530029917015865第一次防空系统拦截的有38930029917015865一共是6个导弹被拦截,还有两个没有被拦截的导弹是207155如果你还想拦截他们就要多两套导弹系统了本质是就是求最长的上升子序列和
优质题解

蓝桥杯算法训练VIP-拦截导弹-详细题解(C++语言代码) 动态规划最长不上升子序列和最长上升子序列(重新修正了一下思路~)

1.直接说了,最多能拦截的导弹的高度是不能超过上一次的高度,所以容易能想到最多能拦截的导弹数量就是所给序列的最长不上升子序列长度(并不是最长下降子序列)。而要拦截所有导弹需要的系统数目就是所给序列的最长上升子序列的长度(也就是把最长上升子序列中每一个数字分到不同的组里面即可),

蓝桥杯算法训练VIP-拦截导弹 (C++代码)

解题思路实际上就是一个最长不递增子序列问题,最多拦截数好求,但是拦截次数怎么求呢?看了一下题解才有思路的,拦截次数问题和最多拦截数其实就是相对的问题,虽然并不知道为什么。内层循环的符号改一下就可以了注意事项:测试数据比较水,量很小参考代码:#define_CRT_SECURE_NO_WARNINGS#