Description

我们有一个数列A1,A2...An,你现在要求修改数量最少的元素,使得这个数列严格递增。其中无论是修改前还是修改后,每个元素都必须是整数。

请输出最少需要修改多少个元素。

Input

第一行输入一个$T (1 \leq T \leq 10)$,表示有多少组数据

每一组数据:

第一行输入一个$N (1 \leq N \leq 10^5)$,表示数列的长度

第二行输入N个数$A_1, A_2, ..., A_n$。

每一个数列中的元素都是正整数而且不超过$10^6$。

Output

对于每组数据,先输出一行

Case #i:

然后输出最少需要修改多少个元素。

Sample Input

2

2

1 10

3

2 5 4

Sample Output

Case #1:

0

Case #2:

1

给一个序列a , 最少改变多少元素使得其变为单调递增序列

对于这个序列,更换的最少就是找一个最长的不需要更换的子序列

所以就是求a[i] - i的最长非递减序列

for example:

1 4 8 2 3 4 5 9 10

如果求这个序列的最长递增子序列长度之后在n-len,明显是错误的,会是2

但是答案应该是3

#include

#include

#include

#include

#include

#include

#include

#define inf 0x3f3f3f3f

#define ll long long

using namespace std;

int ans[100010];

int find(int l,int r,int k)

{

while(r>=l)

{

int mid=(l+r)/2;

if(ans[mid]<=k)

l=mid+1;

else

r=mid-1;

}

return l;

}

int main()

{

int T;

cin>>T;

int tx=1;

while(T--)

{

int n;

cin>>n;

int len=1;

memset(ans,0,sizeof(ans));

for(int i=1;i<=n;i++)

{

int x;

scanf("%d",&x);

if(i==1)

{

ans[1]=x-i;

continue;

}

int minx=find(1,len,x-i);

ans[minx]=x-i;

if(minx>len)

len++;

}

cout<

cout<

}

return 0;

} 子序列

c语言连续非递减子序列,最长非递减子序列的应用相关推荐

  1. 字符串ababaaab的nextval数组值序列为_子序列解题模板:最长回文子序列

    预计阅读时间:6 分钟 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解相关的算法 ...

  2. java最长回文子序列_算法--字符串:最长回文子序列

    转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解 ...

  3. 平地起高楼之漫谈长非编码RNA

    平地起高楼之漫谈长非编码RNA  关于长非编码,我还记得当时在生物化学课上,刘老师专门拿出了半节课向我们介绍长非编码RNA.正好当时也做了笔记,于是结合笔记和网上查阅的资料,简要的写写长非编码RNA. ...

  4. 动态规划(3):最长非递减子序列

    题目 在一个数字序列中,找到一个最长的子序列(可以不连续),使得这个子序列是不下降(非 递减)的. 样例 输入 8 1 2 3 -9 3 9 0 11 输出 6 题解 最优子结构(举例):以3结尾的最 ...

  5. 动态规划 dp02 最长非降子序列问题 c代码

    先看下题目: 给定一个由n个正整数组成的序列,从该序列中删除若干个整数,使剩下的整数组成非降子序列,求 最长的非降子序列. 例如,由12个正整数组成的序列为:48,16,45,47,52,46,36, ...

  6. DeepLncLoc:一种基于子序列嵌入的长非编码RNA亚细胞定位预测的深度学习框架

    目录 摘要 结果: 可用性: 1.介绍 2.方法 2.1数据集 2.2仅使用 k-mer 特征编码 rna 序列的局限性 2.3. 随后嵌入 2.4. 网络架构 2.5评估指标 2.6实施细节 3.结 ...

  7. 面试题:求最长非重复子序列

    题目:求字符串的最长非重复子序列.比如字符串"dabaccdeff",它的最长非重复子序列为"dabcef" 这道题目与 面试题35:第一个只出现一次的字符 非 ...

  8. 最长非降子序列(动态规划dp dynamic programming)

    首先要理解一下什么叫做非降子序列 非降子序列,简单来说就是指给出一个数字序列,在不改变整体顺序的情况下摘出几个来组成一个子序列,这个序列满足从小到大的排序顺序. 所以,最长非降子序列,不难理解就是从这 ...

  9. 最长非下降子序列(O(nlogn))(offer收割)

    题目   如题 思路   核心思想是,维护一个数组ends,它记录了长度为k的子序列的末尾元素的最小值.听起来很抽象,我们不妨手动演示一遍整个过程.   假设数组a={2,9,4,27,29,15,7 ...

最新文章

  1. Amazon Corretto技术细节探秘
  2. 基于matlab的信号去噪,基于matlab的信号去噪研究.doc
  3. Windows 技巧篇-电脑蓝光过滤,颜色校准调节蓝光,电脑源头过滤蓝光,保护眼睛,护眼软件原理
  4. jquery中的事件和动画
  5. CTF(pwn)堆利用 之 off by one
  6. fatjar打包mysql_一个简单的解压ZIP Excl文件---gt;按时间读取Excle文件,通过Fat jar打成jar相对应的添加到mysql数据库中。 - 明月 - ITeye博客...
  7. mysql blob 内容查看_这些被你忽视的MySQL细节,可能会让你丢饭碗!
  8. php解析html数组,HTML中如何处理PHP传递的三维数组
  9. leetcode 第五题 Longest Palindromic Substring (java)
  10. mysql 权限 备份还原,MYSQL学习笔记09:备份还原,用户权限,外键
  11. HIVE 命令行操作和参数指引
  12. Shiro安全框架面试题
  13. DSP eQEP正交编码
  14. 微信小程序:2022虎年全新头像框制作
  15. 2020年开始,中国程序员前景一片灰暗,是这样吗?
  16. 如何获取大数据行业高薪岗位offer?
  17. python如何进行md5解密_python写一个md5解密器
  18. bzoj1627 / P2873 [USACO07DEC]泥水坑Mud Puddles
  19. linux选was清除缓存,Linux清除缓存操作
  20. 关于LM3886TF

热门文章

  1. 学习笔记--asp.net页生命周期(转自msdn,仅为自己学习存储和有意读者使用)
  2. 并发测试工具_性能测试工具基本工作原理及基本操作流程
  3. OC 获取view相对位置_【全职业P4阶段世界BUFFS和药剂】BUFFS获取方法药剂自己查询出处...
  4. 组件是全局怎么修改样式_用一个落地项目,帮你掌握Sketch组件的制作思路
  5. Java 蓝桥杯 字母图形
  6. 华为GT3第一集-安装HAP
  7. 推荐系统学习(二)基于用户/物品的协同过滤算法(User-CF / Item-CF)
  8. 呆萌的图模型学习——基本概念(一)
  9. linux安装.AppImage后缀安装包
  10. 解决 ifconfig: command not found