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

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

筛选

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

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

暴力搜索(小白勿喷)

摘要:解题思路: 暴力不用带脑子,知道临界条件后,其他的都交给计算机就行注意事项:参考代码:#include <stdio.h>int n[10010]={0};int count;int max=0,mi……

蓝桥杯算法训练VIP-拦截导弹-题解(C语言代码)

###用的比较笨的方法,每次都进行最长不上升序列子序列进行标记判断,直到全部标记为1为止,然后退出,记录有几次最长不上升序列子序列。```c++#include#include#includeusingnamespacestd;inta[105];intcnt;intf[105];intvis[105
优质题解

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

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

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

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

简单易懂的C语言动态规划算法(以及分享一下失败的递归算法)

#算法分析:最多拦截的导弹数很容易理解,就是求最长下降子序列,而要配备的系统数相对难理解一些。这样想:每个系统只能拦截一个下降子序列,一个系统不可能拦截在一个导弹后面而且还更高的另一个导弹,所以每有一个比之前高的导弹就需要多一个系统,也就是上升子序列有多少个数,