当前位置: 首页 > news >正文

HDU 5773 The All-purpose Zero

给你一个序列,0可以变成任意数字,文最长上升子序列长度。

首先最长的肯定是0都用。

因为中间无论多少个0都不会让情况更糟糕。

然后,0单独拿出来,最后统计的时候加上就行。

最后,每个数的实际值要减去它之前的0的个数,因为要让每一个0都物尽其用,能在这个数之前塞得下。也就是说这个数会变得没有那么值钱,如果减了之后依然能排最后,那只能说明这个数本来和之前的空间就已经够放下那么多0了。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
int a[100100];
int dp[100100];
int main()
{
    int T,kacs=0;
    scanf ("%d",&T);
    while (T--)
    {
        int n;
        scanf ("%d",&n);
        for (int i=1;i<=n;i++)
            scanf ("%d",&a[i]);
        int maxn=0,num=0,ans=1;
        for (int i=1;i<=n;i++)
        {
            if (maxn==0)
            {
                if (a[i]==0) num++;
                else dp[++maxn]=a[i]-num;
                ans=max(ans,num+maxn);
            }
            else
            {
                if (a[i]==0) num++;
                else
                {
                    a[i]-=num;
                    if (a[i]>dp[maxn]) dp[++maxn]=a[i];
                    else
                    {
                        int pos=lower_bound(dp+1,dp+maxn,a[i])-dp;
                        dp[pos]=a[i];
                    }
                }
                ans=max(ans,num+maxn);
            }
        }
        printf ("Case #%d: %d\n",++kacs,ans);
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/nj-czy/p/5716169.html

相关文章:

  • 整理样本标签
  • OpenSSL命令---s_client
  • Wireshark设置interface 时提示“There are no interfaces on which a capture can be done ”
  • MooseFS维护技巧集锦
  • linux 文件管理
  • Java安全——提供者相关的体系架构
  • 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
  • vijos 1426
  • 百度地图获取应用SHA1
  • Android Design Support Library使用详解——Snackbar
  • linux安全之iptables防火墙详解1
  • Python学习总结13:os模块
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 虚拟机的封装
  • dplyr 数据操作 数据排序 (arrange)
  • .pyc 想到的一些问题
  • Android Volley源码解析
  • css选择器
  • js写一个简单的选项卡
  • Kibana配置logstash,报表一体化
  • Nacos系列:Nacos的Java SDK使用
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Sublime Text 2/3 绑定Eclipse快捷键
  • webpack项目中使用grunt监听文件变动自动打包编译
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 聚类分析——Kmeans
  • 使用parted解决大于2T的磁盘分区
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 跳前端坑前,先看看这个!!
  • 网络应用优化——时延与带宽
  • 微信小程序:实现悬浮返回和分享按钮
  • 移动端解决方案学习记录
  • 再谈express与koa的对比
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 阿里云ACE认证之理解CDN技术
  • 带你开发类似Pokemon Go的AR游戏
  • ​io --- 处理流的核心工具​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • ###C语言程序设计-----C语言学习(3)#
  • #Z2294. 打印树的直径
  • #微信小程序:微信小程序常见的配置传旨
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (js)循环条件满足时终止循环
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)php新闻发布平台 毕业设计 141646
  • (一) springboot详细介绍
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)fock函数详解
  • *p++,*(p++),*++p,(*p)++区别?
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献