先把0都去掉,然后不是0的数,减去它前面有多少个0(因为是严格单调增的

nlogn求LIS

用d[] 记录,当前为止,d[i]表示到目前为止,长度为i的上升子序列最末最小为d[i]。。。d[]肯定是不严格单调增的。。

lower_bound。。。前开后闭区间,返回>=val的第一个位置

int pos =lower_bound(d+1, d+len+1, a[i])- d;
#include <iostream>
#include <deque>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
#define FOR(i,j,k) for(int i=j;i<=k;i++)int a[100010];
int d[100010];
int main() {int T;scanf("%d",&T);FOR(z,1,T){int n;scanf("%d" ,&n);FOR(i,1,n)scanf("%d" ,&a[i]);int sum =0;int i =1;for(;i<=n;i++){if(a[i] ==0)sum++;else break;}if(i == n+1){printf("Case #%d: %d\n",z ,sum);continue;}d[1] = a[i]-sum;int len =1;i++;for(;i<= n;i++){if(a[i] == 0) sum++;else{a[i]-=sum;if(a[i] > d[len]){len++;d[len] =a[i];}else{int pos =lower_bound(d+1, d+len+1, a[i])- d;d[pos] =a[i];}}}//FOR(i,1,len) cout<<d[i]<<" ";// cout<<len<<" "<<sum<<endl;printf("Case #%d: %d\n",z ,len+sum);}return 0;
}

hdu5773 2016年多校4 nlogn求LIS相关推荐

  1. O(nlogn) 求LIS(Longest Increasing Subsequence)方法的总结

    前几天做题遇到求LIS的题,照常用dp去做结果超时了.之后就去网上找了O(nlogn)的方法.因为看了好几个博客我才看懂,所以这里我进行下总结. 首先第一种写法: 假设存在一个序列d[1..9] = ...

  2. POJ 1631 nlogn求LIS

    方法一: 二分 我们可以知道 最长上升子序列的 最后一个数的值是随序列的长度而递增的 (呃呃呃 意会意会) 然后我们就可以二分找值了(并更新) //By SiriusRen #include < ...

  3. 三校生高考计算机应用基础模拟试题答案,2016年三校生高考计算机应用试题及答案.doc...

    江西省2016年三校生高考 计算机应用基础试题 第Ⅰ卷(选择题,共60分 一.是非选择题:本大题共15小题,每小题1分,共15分.对每小题的命题作出选择,对的选A,错的选B. 1.CAM是指计算机辅助 ...

  4. HDU 5773 The All-purpose Zero(O(nlgn)求LIS)

    http://acm.hdu.edu.cn/showproblem.php?pid=5773 题意: 求LIS,其中的0可以看做任何数. 思路: 因为0可以看做任何数,所以我们可以先不管0,先求一遍L ...

  5. NCD 2019题解C. Hasan and his lazy students【dp求lis,顺序维护方案数】

    题目链接 题意,给序列,求最长上升子序列长度和方案数. n<=1000,因为n小于1e3,所以可以使用复杂度为n2的dp做法,然后使用一个结构体来维护方案数就行了: 先定义一个结构体,包含dp求 ...

  6. nlogn求最长不上升子序列

    这种问题一般都比较熟悉,我们先看n^2的算法 导弹拦截 时间限制: 1 Sec  内存限制: 128 MB 提交: 106  解决: 61 [提交][状态][讨论版] 题目描述 某国为了防御敌国的导弹 ...

  7. hdu1025 Constructing Roads In JGShining#39;s Kingdom (nlogn的LIS)

    题目链接 第一次写nlogn复杂度的LIS,纪念一下. 题目意思是说.有两条平行线.两条平行线都有n个城市,都是从左到右标记为1--n,一条线上是富有城市,一个是贫穷城市.输入n.接下来有n行,p,r ...

  8. 【牛客 - 368B】选点(dfs序,LIS 或 dfs序 + 树状数组 + 离散化,树状数组求LIS的方法)

    题干: 有一棵n个节点的二叉树,1为根节点,每个节点有一个值wi.现在要选出尽量多的点. 对于任意一棵子树,都要满足: 如果选了根节点的话,在这棵子树内选的其他的点都要比根节点的值大: 如果在左子树选 ...

  9. ZSTU2019校赛 Problem D Lis(线性基dp)

    我的做题思路参考的是这位大佬(代码就把他的抄了一遍) https://blog.csdn.net/kzn2683331518/article/details/88768657 题面: 令LIS(S)为 ...

  10. [计蒜之道2019 复赛 A]外教 Michale 变身大熊猫 (线段树求LIS+思维)

    外教变身萌翻小学员,VIPKID "AR 变脸" 打造趣味互动课堂,这是在线少儿英语品牌 VIPKID 全新推出的辅助教学功能--AR 变脸,外教在上课过程中可以随意选取合适的表情 ...

最新文章

  1. css表格文本居中的指令,CSS似乎无法在表格单元中居中文本
  2. 【H3C交换机】cpu各个进程的详细说明
  3. 一个包含嵌套递归数据结构的对象的排序实现
  4. 位置服务器管理器,查看 DIMM 位置
  5. Django开发中常用的命令总结
  6. nginx配置中location匹配规则详解
  7. 天猫、京东双11销售总额超8894亿!媒体:双11成交额崇拜可休矣
  8. 处理PHP字符串的10个简单方法
  9. MyEclipse配置TomCat环境(图文详解)
  10. Factory Method 工厂方法
  11. php 腾讯短信接口api,腾讯云短信发送功能API-PHP接入
  12. qPCR引物设计经验教程
  13. 二分图最大权匹配【KM算法 BFS优化下的真正的O(N3)的KM算法】【KM算法模板】
  14. Ringtone 循环播放铃声
  15. Mariadb数据库
  16. html表格打印分页无边框_excel怎么显示打印线-表格换页打印没有边框线
  17. Win10 无法使用内置管理员账户打开应用程序解决方案
  18. 【陈秀秀往事】---一个战痘8年成功的感人故事!
  19. 浅谈Object.assign
  20. APIcloud的基本使用

热门文章

  1. Java中常见的5种WEB服务器介绍以及性能配置要点总结
  2. 【错误记录】Google Play 上架报错 ( 此版本不符合 Google Play 关于提供 64 位版本应用的要求。| 如果提供 x86 架构动态库则必须提供 x86_64 架构的动态库 )
  3. 保护眼睛缓解疲劳的方法(常用电脑的朋友)
  4. 遇见,那一份最美的眷恋
  5. 怎么选?毕竟可以上网的浏览器只剩下四款了。。。
  6. 某站的视频下载与合并,m4s的处理。
  7. 1Cr11Ni2W2MoV
  8. 如何查看电脑mac地址
  9. 摄像头黑屏等问题及解决方案汇总
  10. 网课答案接口 查题系统