hdu5256 二分求LIS+思维
2024-08-26 19:26:41
解题的思路很巧,为了让每个数之间都留出对应的上升空间,使a[i]=a[i]-i,然后再求LIS
另外二分求LIS是比较快的
#include<bits/stdc++.h>
#define maxn 1000005
#define ll long long using namespace std; int len,n,a[maxn],lis[maxn]; int main(){
int t;
scanf("%d",&t);
for(int tt=;tt<=t;tt++){
scanf("%d",&n);
for(int i=;i<=n;i++){
lis[i]=-;
}
for(int i=;i<=n;i++) scanf("%d",&a[i]);
for(int i=;i<=n;i++) a[i]=a[i]-i;
len=;lis[]=a[];
for(int i=;i<=n;i++){
if(a[i]>=lis[len-]) lis[len++]=a[i];
else {
int pos=upper_bound(lis,lis+len,a[i])-lis;
lis[pos]=a[i];
}
}
printf("Case #%d:\n%d\n",tt,n-len);
}
return ;
}
最新文章
- Scala的第一步
- VB 编程
- OpenCV源码分析:RGB到其他色彩空间的转换
- B. Mr. Kitayuta&#39;s Colorful Graph
- iOS之duplicate symbols for architecture x86_64错误
- Windows下安装破解JIRA6.3.6
- UVA 10561 Treblecross(博弈论)
- MVC通俗演义系列开篇
- c#接口定义与应用
- web api (.NET 4.5)
- ResultSet与Result
- Greenplum同步到Oracle
- iOS UICollectionView 长按移动cell
- 百度OCR文字识别-身份证识别
- jdk源码剖析一:OpenJDK-Hotspot源码包目录结构
- VSCode插件开发全攻略(七)WebView
- 吴恩达机器学习笔记45-使用支持向量机(Using A SVM)
- python-猜数字小练习
- MYCAT全局序列
- js 深复制一个对象
热门文章
- 多目标遗传算法 ------ NSGA-II (部分源码解析) 实数、二进制编码的变异操作 mutation.c
- python---生成验证码图片
- golang基础数据结构链表
- 收集服务器网卡和IP信息
- php+mysql注入
- Hbase 集群安装(Hadoop 2.6.0 hbase0.99.2)
- loadrunner函数解密之web_reg_find
- C static struct
- django学习~models之查询
- SVG2PNG(前台和后台将SVG转换为PNG)--amcharts导出png