博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划-导弹拦截(求最长不上升子序列和最长上升子序列)
阅读量:6257 次
发布时间:2019-06-22

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

lower_bound(a,a+n,i)函数 返回从数组a到a+n中第一个>=i的元素地址

upper_bound(a,a+n,i)函数 返回从数组a到a+n中第一个>i的元素地址

#include
#include
#include
using namespace std;const int maxn=1e5+5;int a[maxn];int d[maxn]; // 函数重载upper_bound函数struct cmp{ bool operator()(int a,int b) { return a>b; }};int main(){ int n=0; while(scanf("%d", &a[++n])!=EOF); n--; d[1]=a[1]; int len=1; for(int i=2; i<=n; i++) { if(d[len]>=a[i]) { d[++len]=a[i]; } else { int j; j=upper_bound(d+1,d+1+len,a[i],cmp())-d; d[j]=a[i]; } } printf("%d\n", len); memset(d, 0, sizeof(d)); d[1]=a[1]; len=1; for(int i=2; i<=n; i++) { if(d[len]

 

转载于:https://www.cnblogs.com/dongdong25800/p/9907142.html

你可能感兴趣的文章
两列布局之左边固定宽度,右边自适应(绝对定位实现方法)
查看>>
4,gps信号与地图匹配算法
查看>>
python print的用法
查看>>
之字形打印矩阵
查看>>
我的世界之电脑mod小乌龟 —— 方位上的操作 lua函数集
查看>>
游戏方案
查看>>
在 Linux 下搭建 Git 服务器
查看>>
StackExchange.Redis Client(转载)
查看>>
Leetcode题目:Bulls and Cows
查看>>
bk. 2014.12.1
查看>>
CEOI2014 wall Spoiler
查看>>
UVA10391 ZOJ1825 Compound Words【SET+暴力】
查看>>
动态规划------Combination Sum IV
查看>>
[BZOJ2463][中山市选2009]谁能赢呢?
查看>>
iOS数据持久化存储之属性列表
查看>>
最后冲刺时间
查看>>
前端开发薪资之各地区对比(图文分析)
查看>>
jquery简单的大背景banner图片全屏切换
查看>>
java疑问
查看>>
JAVAEE 介绍
查看>>