hdu_5773_The All-purpose Zero(LIS)
题目链接:hdu_5773_The All-purpose Zero
题意:
给你一串数,让你求LIS,不过这里的0可以改变为任意数
题解:
官方题解讲的很清楚
1010 The All-purpose Zero
0可以转化成任意整数,包括负数,显然求LIS时尽量把0都放进去必定是正确的。因此我们可以把0拿出来,对剩下的做O(nlogn)的LIS,统计结果的时候再算上0的数量。为了保证严格递增,我们可以将每个权值S[i]减去i前面0的个数,再做LIS,就能保证结果是严格递增的。
#include<bits/stdc++.h>
#define F(i,a,b) for(int i=a;i<=b;++i)
using namespace std; const int N=1e5+;
int a[N],b[N];
int main(){
int t,n,tp,ic=;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int cnt=,ed=,len;
F(i,,n)
{
scanf("%d",&tp);
if(tp)a[++ed]=tp-cnt;else cnt++;
}
if(!ed)printf("Case #%d: %d\n",ic++,n);
else{
b[len=]=a[];
F(i,,ed)if(a[i]>b[len])b[++len]=a[i];
else b[lower_bound(b+,b++len,a[i])-b]=a[i];
printf("Case #%d: %d\n",ic++,len+cnt);
}
}
return ;
}
hdu_5773_The All-purpose Zero(LIS)的更多相关文章
- Lis日常维护
		1.[问题]护士站打印LIs条码,出来是PDF格式的 [解决]在文件夹Client\NeusoftLis\Xml\Print.xml中把BarcodePrint Name的值改成安装的斑马打印机名(不 ... 
- uva10635 LIS
		Prince and PrincessInput: Standard Input Output: Standard Output Time Limit: 3 Seconds In an n x n c ... 
- Codeforces 486E LIS of Sequence 题解
		题目大意: 一个序列,问其中每一个元素是否为所有最长上升子序列中的元素或是几个但不是所有最长上升子序列中的元素或一个最长上升子序列都不是. 思路: 求以每一个元素为开头和结尾的最长上升子序列长度,若两 ... 
- 出操队形(LIS)
		题目来源:微策略2013年校园招聘面试一面试题 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往楼下跑了,然后身高矮的排在队伍的前面,身高较 ... 
- 洛谷P1108 低价购买[DP | LIS方案数]
		题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ... 
- [tem]Longest Increasing Subsequence(LIS)
		Longest Increasing Subsequence(LIS) 一个美丽的名字 非常经典的线性结构dp [朴素]:O(n^2) d(i)=max{0,d(j) :j<i&& ... 
- 从LIS问题浅谈动态规划
		今天以LIS问题切入动态规划,现在做一些简单的总结. LIS问题: http://www.cnblogs.com/Booble/archive/2010/11/27/1889482.html 
- [noip科普]关于LIS和一类可以用树状数组优化的DP
		预备知识 DP(Dynamic Programming):一种以无后效性的状态转移为基础的算法,我们可以将其不严谨地先理解为递推.例如斐波那契数列的递推求法可以不严谨地认为是DP.当然DP的状态也可以 ... 
- Hdu 3564 Another LIS 线段树+LIS
		Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ... 
随机推荐
- 找工作---操作系统常考知识点总结【PB】
			1.进程是并发过程中程序的执行过程 2.进程的特征:结构特征.动态性.并发性.独立性.异步性 3.临界区指在每个进程中访问临界资源的那段代码 4,现在操作系统中申请资源的基本单位是进程,在CPU得到执 ... 
- Ubuntu Git服务器搭建
			1.安装git和ssh工具 apt-get install git-core openssh-server openssh-client 2.添加用户名为git的用户 useradd -m git 3 ... 
- iOS通过URL Scheme启动app(收集了常用的app的URL Scheme)
			URL Scheme不仅可以打开其他的app,当然你也能为自己的app设置URL Scheme 1.如何设置给app设置URL Scheme 添加URL types字段数组 设置URL identif ... 
- WOT2016大数据技术峰会——千人技术盛宴
			WOT2016大数据技术峰会是一场聚焦大数据领域最前沿的的技术及经验分享.2016年11月25-26日北京粤财JW万豪酒店如约而至,会议规模达到1000人! 由51CTO主办的千人技术盛宴--WOT2 ... 
- 第五、六章:图像&链接
			图像有很多存储格式:JPEG.png.gif等,它们的文件大小也不同,使用的图片类型对于页面响应速度有不同的要求.下面就会简单阐述不同的格式的图片的特点. 1.JPEG格式 JPEG格式适用于彩色照片 ... 
- 在一个页面重复使用一个js函数的方法
			给每个拥有相同行为的问题DOM节点一个相同的class类,如question,同时给不同的问题一个不同的标识ID如 id="question1" id="question ... 
- php 导出 Excel 报错 exception 'PHPExcel_Calculation_Exception' with message
			exception 'PHPExcel_Calculation_Exception' with message '粉丝数据!C2679 -> Formula Error: Operator '= ... 
- Udemy - Angular 2 - The Complete Guide 笔记
			1. install > npm install -g angular-cli 2. create app > ng new first-app 3. build app > cd ... 
- Zeppelin使用spark解释器
			Zeppelin为0.5.6 Zeppelin默认自带本地spark,可以不依赖任何集群,下载bin包,解压安装就可以使用. 使用其他的spark集群在yarn模式下. 配置: vi zeppelin ... 
- digitalocean最新优惠码赠送10美元
			digitalocean是我非常喜欢的vps服务商,目前手头还有十来个digitalocean vps服务器.用了三年多digitalocean后,我发现digitalocean一点小技巧.比如,如果 ... 
