1715: 序列变换
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
我们有一个数列A1,A2…An,你现在要求修改数量最少的元素,使得这个数列严格递增。其中无论是修改前还是修改后,每个元素都必须是整数。
请输出最少需要修改多少个元素。
输入
第一行输入一个N(1≤N≤10e5),表示数列的长度
第二行输入N个数A1,A2,…,An。
每一个数列中的元素都是正整数而且不超过10e6。
输出
输出最少需要修改多少个元素
样例输入

3
2 5 4

样例输出

1

提示
来源
/*
最长上升子序列的变形。
每个元素都必须为整数(正,负都行)
对于:
9
2 2 3 3 4 4 5 5 6
ans = 7
---->-1 2 3 4 5 6 7 8 9
当aj > ai 时,i < j,i与j之间的元素要也要严格递增,得满足这个条件:
aj-ai >= j-i
整理上式:
aj - j >= ai - i
所以可以对原序列预处理一下,nowValue = oldValue-index
然后本题数据比较大不呢之间用O(n^2)解法,只能用基于贪心的O(nlogn)解法
*/

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+5;
int a[maxn];
int st[maxn];
int main()
{ios::sync_with_stdio(false);int n;cin>>n;for(int i = 0; i < n; i++){cin>>a[i];a[i] = a[i] - i;}int t = 0;st[t] = -(1<<30);for(int i = 0; i < n; i++){// a[i] - a[j] >= i-j;-->a[i]-i >= a[j]-j,i>jif(a[i] >= st[t]){st[++t] = a[i];}else{//可以直接用upper_bound,但是我更喜欢自己写二分// int pos = upper_bound(st,st+t+1,a[i])-st;//st[pos] = a[i];int left = 1, right = t;while(left <= right){int mid = (left+right)>>1;if(a[i] >= st[mid]){left = mid + 1;}else{right = mid - 1;}}st[left] = a[i];}}cout<<n-t<<endl;return 0;
}

1715: 序列变换(LIS变形)相关推荐

  1. hdu 5256 序列变换 (LIS变形)

    序列变换 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 序列变换(Lis变形)

    序列变换 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. 杭电5256 序列变换(LIS)

    序列变换 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  4. 百度之星1005 序列变换(lis)

    序列变换 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest_show ...

  5. UVA 1471 Defense Lines (LIS变形)

    题意:删除原序列中的一段连续子序列,使得剩下的序列中存在一段最长连续子序列. 题解:LIS变形 我们用l[i]l[i]l[i]和r[i]r[i]r[i]记录往右以iii结尾和往左以iii开头的最长连续 ...

  6. 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换

    题目传送门 1 /* 2 二分搜索:在0-1e6的范围找到最小的max (ai - bi),也就是使得p + 1 <= a[i] + c or a[i] - c 3 比赛时以为是贪心,榨干智商也 ...

  7. 豪斯荷尔德变换及变形QR算法对矩阵进行奇异值分解VB算法

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  8. hdu5256序列变换(非递减子序列)

    题意(中文直接粘吧) 序列变换 Problem Description     我们有一个数列A1,A2...An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个 ...

  9. hdu5248序列变换(二分+贪心)基础题

    题意(中文的直接粘题意吧)                                                                                        ...

最新文章

  1. 图灵奖得主Jeff Ullman直言:机器学习不是数据科学的全部!统计学也不是
  2. 答疑 | 算法岗和开发岗有什么区别?
  3. [转]ASP.NET 核心模块配置参考
  4. 在eclipse中创建web项目(非myeclipse)
  5. 自动化测试特定区域滑动_自动化用户特定实体的访问控制
  6. 构造函数必须没有代码
  7. C语言缓冲文件系统和非缓冲文件系统
  8. 大众点评被合并至美团? 官方回应:不存在这种可能性
  9. Win7系统经常报错怎样解决?
  10. 伺服驱动器cn1引脚定义_台达A2 A3系列伺服CN1接线对照表
  11. java最长公共子串_查找字符串最长公共子串
  12. pause 和 title
  13. just for save
  14. 1919: kirito's 星爆气流斩 多重背包
  15. 新手学做网站的建议教程
  16. 137、易燃固体的火灾危险性
  17. pdf 能打开但不能打印复制
  18. web之Cookies
  19. 马宁伟-20年工作经验谈-3-十年磨一剑
  20. [win10] [mac] 双系统下丢失mac OS X系统引导的修复方法

热门文章

  1. 手机电脑的芯片主要是由_苹果的自研电脑芯片终于来了!你看好么?
  2. java 传递函数_java传递函数参数(值传递)
  3. zeppelin安装使用
  4. 干货!隐马尔科夫模型
  5. android 阻尼动画,Android拉伸阻尼效果实现
  6. php网页论坛制作教程,PHP开发 小型论坛教程之登录HTML页面
  7. aspectj表达式如何书写_化学平衡常数的表达式书写
  8. Linux安装weblogic方式,Linux下weblogic安装图解
  9. java服务自动降级方案_在京东我们是如何做服务降级的
  10. String对象的intern()