51nod 1294 修改数组 (LIS变形_DP)

原创 2015年11月17日 23:17:08


Input
第1行:一个数N表示序列的长度(1 <= N <= 100000)。
第2 - N + 1行:每行1个数,对应数组元素。(0 <= A[i] <= 10^9)
Output
输出最少需要修改几个数使得整个数组是严格递增的。
Input示例
5
1
2
2
3
4
Output示例
3


求LIS是用lower_bound(),而非严格递增用upper_bound()



#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100000+10;
const int inf=1e9+100;
int a[maxn],b[maxn],dp[maxn];
int main()
{
	
	int k,i,j,ans,n;
	scanf("%d",&n);
	for(i=0;i<n;i++) scanf("%d",&a[i]);
	k=0;ans=-0;
	for(i=0;i<n;i++) {
		if(a[i]<i+1) ans++;
		else b[k++]=a[i]-(i+1);
		dp[i]=inf;
	}
	for(i=0;i<k;i++) {
		*upper_bound(dp,dp+k,b[i])=b[i];
	}
	ans=ans+k-(lower_bound(dp,dp+k,inf)-dp);
	printf("%d\n",ans);
	return  0;
} 





版权声明:本文为博主原创文章,未经博主允许不得转载。

51nod 1294 :修改数组 && HDU 5256:序列变换

1294 修改数组 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  取消关注 给出一个整数数组...

51Nod-1294-修改数组

ACM模版描述题解向大牛致敬——xdlove,思量许久,不能参透,大牛题解一语惊醒梦中人~~~首先可以明确一点,一个最小的严格递增的正整数子序列为1,2,3,……….n,那么对于题目给出的任何一个序列...
  • f_zyj
  • f_zyj
  • 2016年10月20日 01:24
  • 187

51Nod 1050 循环数组最大子段和(DP—最大子段和变形)

1050 循环数组最大子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 N个整数组成的循环...

【51Nod】-1050 循环数组最大子段和(LIS,小变化)

1050 循环数组最大子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 N个整数组成的循环...

51Nod 1051 最大矩阵和(DP—最大子段和变形)

1051 最大子矩阵和 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 一个M*N的矩阵,找到此...

51Nod 1050 循环数组最大字段和 ( DP

循环数组最大子段和基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[...

51Nod 1050 循环数组最大子段和(dp)

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1050 其实就是求循环数组的最大字段和 题意:给定一个长度为5000...

51Nod 1376 最长递增子序列的数量(dp+树状数组)

题目链接最长递增子序列的题做个不少,让求数量的第一次做,O(n^2)的代码很好写,但数据范围50000,故无情超时,想了很久,总算有所得。时间: O(nlog(n)) 空间: O(2*n)思路 ...

51Nod 编辑距离 DP+滚动数组

51Nod 编辑距离 DP 题目链接:51Nod编辑距离 思路:令dp[i][j] 表示 A字符串前i个字符,与B字符串的前j个字符的最小编辑距离。 那么有, i = 0 && j =...

51nod 1043 幸运号码【dp+滚动数组】

1043 幸运号码 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 1个长度为2N的数,如果左边N个数的和 = 右边N个数的和,那么就是一个幸运号码。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:51nod 1294 修改数组 (LIS变形_DP)
举报原因:
原因补充:

(最多只允许输入30个字)