hdu_5773_The All-purpose Zero(LIS)
2024-08-21 08:13:23
题目链接: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 ;
}
最新文章
- C# in VS
- nullcon HackIM 2016 -- Programming Question 5
- sql 2012 提示列名无效 但可以执行问题
- struts2实现文件上传、多文件上传和文件下载
- elasticsearch的marvel
- Python-装饰器详解
- Mysql 1030 Got error -1 from storage engine 错误解决
- poj1691(dfs)
- 哈希表(Hashtable)简述
- rzsz的安装
- ELK重难点总结和整体优化配置
- [LeetCode] Maximum Width of Binary Tree 二叉树的最大宽度
- CentOS7使用firewalld防火墙配置端口
- HDFS退出安全模式
- Spring boot @Autowired注解在非Controller中注入为null
- leetcode-algorithms-20 Valid Parentheses
- [每天解决一问题系列 - 0004] Excel 公式中拼接字符串
- 获取form表单数据
- zabbix-2.4.7环境部署与初始化安装
- python 全栈开发:数据类型整体分析