【题解】nkoj 9061 通用的0
发布时间2022-1-8 11:30 做完过后发的。
题意
对数列a1,a2,...,an,求其最长上升(严格)子序列的长度对数列 a_1, a_2, ..., a_n ,求其最长上升(严格)子序列的长度对数列a1,a2,...,an,求其最长上升(严格)子序列的长度。
特别地,你可以将数列中的0替换为任意整数(可为负数),不同的0可以替换为不同的数。特别地,你可以将数列中的 0 替换为任意整数(可为负数),不同的 0 可以替换为不同的数。特别地,你可以将数列中的0替换为任意整数(可为负数),不同的0可以替换为不同的数。
输入格式
第一行输入1个整数n。第一行输入 1 个整数 n 。第一行输入1个整数n。
第二行输入n个整数a1,a2,...,an。第二行输入 n 个整数 a_1, a_2, ..., a_n 。第二行输入n个整数a1,a2,...,an。
输出格式
输出替换0后能得到的最长上升(严格)子序列的长度。输出替换 0 后能得到的最长上升(严格)子序列的长度。输出替换0后能得到的最长上升(严格)子序列的长度。
思路
看到这个数据范围和题目,先把渡轮问题(变态版)代码复制下来。
主要问题是需要处理0的情况。
如果最长上升子序列为g1,g2,g3g_1,g_2,g_3g1,g2,g3,那么满足g1<g2<g3g_1<g_2<g_3g1<g2<g3。
即g1<g2≤g3−1g_1<g_2\le g_3-1g1<g2≤g3−1即g1<g3−1g_1<g_3-1g1<g3−1。
所以我们可以遇到0就把后面的数全部减1。(相当于强制让每一个0都在lis中)
这个操作可以用类似于lazy标记的方法实现。
最后结果为lis长度+0的个数
代码
#include<bits/stdc++.h>
using namespace std;
int g[100005],n,t,x,lz;
main(){scanf("%d",&n);for(int i=1;i<=n;++i){scanf("%d",&x);if(...)if(...)...else ...else ++lz;}printf("%d",t+lz);
}
【题解】nkoj 9061 通用的0相关推荐
- 塞班S60V3通用UCWEB7.0正式版SISX安装包下载
UCWEB7.0 FOR S60V3通用版本推出了. 适合所有S60三版手机 UCWEB7.0做出了不少改进,是目前塞班智能手机上最强的手机浏览器软件,看新闻,看视频,浏览资讯速度快,并且非常节省流量 ...
- 华为ai开发套件_使用华为ml套件图像分割构建背景橡皮擦应用
华为ai开发套件 Image segmentation is a widely used term in image processing and computer vision world. It ...
- 大学c语言基础 Turbo C2.0 (32位/64位通用)
大学c语言基础 Turbo C2.0 (32位/64位通用) 2.0此软件自带dos虚拟环境 介绍 Turbo C2.0不仅是一个快捷.高效的编译程序,同时还有一个易学.易用的集成开发环境.使用Tur ...
- 牛客题霸 [ 缺失数字] C++题解/答案
牛客题霸 [ 缺失数字] C++题解/答案 题目描述 从0,1,2,-,n这n+1个数中选择n个数,找出这n个数中缺失的那个数,要求O(n)尽可能小. 题解: 我们可以用map来标记已出现过的数字 因 ...
- 通用 PE 工具箱1.9.6(XP内核)by Uepon(李培聪)
通用 PE 工具箱1.9.6(XP内核)by Uepon(李培聪) 通用 PE 工具箱1.9.6(XP内核)by Uepon(李培聪) 官网:http://hi.baidu.com/uepon?pag ...
- 《剑指Offer》题解与笔记(Java实现)
Coding Interviews 3.1 找出数组中重复的数字 3.2 不修改数组找出重复的数字 4 二维数组中的查找 5 替换空格 6 从尾到头打印链表 7 重建二叉树 8 二叉树的下一个节点 9 ...
- GLES2.0中文API-glBindAttribLocation
名称 glBindAttribLocation - 将通用顶点属性索引与命名属性变量相关联 C规范 void glBindAttribLocation(GLuint program, GLuint i ...
- 浙大PTA-Python题库 编程题第五章(5-1~5-11)题解
其他各章题解链接如下 浙大PTA-Python题库 编程题第一章(1-1~1-3)题解 https://blog.csdn.net/zimuzi2019/article/details/1070206 ...
- 新能源汽车产业深度研究报告:从2.0迈入3.0时代(113页)
来源:华西证券 1.现状:发展节奏加快 电动化趋势明朗 1.1.全球:新能源汽车加速渗透 中国占比持续提升 全球新能源汽车销量保持高速增长,十年 CAGR 达 99.4%.2008年新能源汽车 销量 ...
最新文章
- mysql 中文截取_mysql 截取中文字符
- zabbix4.0构建实录
- 【CNN结构设计】无痛的涨点技巧:ACNet
- Mysql压测工具mysqlslap 讲解
- solaris迅速查找手册
- linuex查看繁忙_如何用九条命令在一分钟内检查Linux服务器性能?
- linux命令0424
- Elementui select 设置点击事件,在Change事件前触发
- java 向上抛异常_java throws 向上抛出的概念问题
- 解决“计划任务不存在的问题”方法
- 如何获得线程对象,获得Thread对象,得到线程对象,根据线程名获得线程对象,多线程取得线程对象...
- 将单链表翻转的两种方法
- 程序如何在两个gpu卡上并行运行_【他山之石】如何支撑上亿类别的人脸训练?显存均衡的模型并行(PyTorch实现)...
- 由spin_lock_bh想到的一些事
- html页面能直接用vuex吗,vuex(多用于不同页面之间的数据共用和修改)
- python解释器配置_Python解释器的配置
- msn邮箱在哪里登录?
- matlab的输入输出常见语句
- 天津电动自行车外贸出口认证GCC合格证
- java openoffic linux_Linux下安装OpenOffice