🏆今日学习目标:
🍀学会导弹拦截题目
✅创作者:贤鱼
🎉个人主页:贤鱼的个人主页
🔥专栏系列:c++
拦截导弹
- 题目
- 思路
- 代码
- 拓展
- 狄尔沃斯定理(Dilworth 定理)
题目
描述
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度(可以等于)。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹。
输入
第一行是一个整数 N(1c;
for(int i=1;i>n[i];
}
b1[1]=n[1];
r1=1;
for(int i=2;i=n[i]){
b1[++r1]=n[i];
}
else {
*upper_bound(b1+1,b1+r1+1,n[i],greater())=n[i];
}
}
cout
关注
打赏
