博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1020 导弹拦截(弱数据)
阅读量:6687 次
发布时间:2019-06-25

本文共 884 字,大约阅读时间需要 2 分钟。

这里写图片描述

法一,dp

第一问要求一个以第一个为起点最长不上升子序列。
第二问,只要后面的比前一个高,就要再另用一套系统,所以问题可以转化为求最长的上升子序列。

#include
#include
#define LL long long#define M 30010using namespace std;int a[111],n=0;int d[111],f[111];int main(){ for(;scanf("%d",&a[++n])==1;) { d[n]=1; } d[0]=1; for(int i=2;i<=n;i++) { int maxn=0; for(int j=1;j<=i-1;j++) if(a[j]>=a[i]&&maxn

法二、贪心

每次打炮弹时,都在已有系统中找一个满足条件的最低的系统,如果没有满足条件的,那么就需要加一套系统。

#include
#include
#include
#define LL long long#define M 31000using namespace std;int a[111],n=0;int d[111],h[111];void dfs(int x,int m){ if(x==n+1) { printf("%d\n",m); return; } int minn=M+1,minj; for(int i=1;i<=m;i++) { if(h[i]>a[x]&&h[i]
=a[i]&&maxn

转载于:https://www.cnblogs.com/dfsac/p/7587932.html

你可能感兴趣的文章
高压缩文件是如何实现的
查看>>
集合类的用法总结(NSArray、NSDictionary、NSSet)
查看>>
一个能让cin和scanf 一样快的方法:
查看>>
代理延迟加载中proxy和弄no-proxy区别
查看>>
JQuery小技巧
查看>>
【Java】 JButton、JTextField、javax.swing.text.Document
查看>>
【BZOJ1030】[JSOI2007]文本生成器
查看>>
LG GPRO2 SudaMod 3.1 自编译版 20180524 更新
查看>>
Android系统移植与调试之------->增加一个双击物理按键打开和关闭闪光灯并将闪光灯状态同步到下拉菜单中...
查看>>
【测试工程师面试】记录自己的一次面试
查看>>
关于lettuce的一个基本操作的总结
查看>>
[转载]步进电机原理介绍与基于STM32的SPWM驱动步进电机,使用软件实现电机细分...
查看>>
css hack
查看>>
Python 递归
查看>>
第3章 敏捷项目管理概述
查看>>
C语言中函数strcpy ,strncpy ,strlcpy的用法
查看>>
让函数只执行一次的简化写法(非单列模式)
查看>>
Android深入浅出系列之Bluetooth—蓝牙操作(一)
查看>>
MapReduce入门
查看>>
软件测试作业03
查看>>