给一个数列,问最少修改多少个元素使数列严格递增。如果不是要求“严格”递增,那就是求最长不降子序列LIS,然后n-LIS就是答案。要严格递增也好办,输入的时候用每个数减去其下标处理一下就行了。

/** Author    : ben*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
#include <stack>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <functional>
#include <numeric>
#include <cctype>
using namespace std;
const int MAXN = 100010;
int a[MAXN];
vector<int> v;
int work() {int n;scanf("%d", &n);v.clear();vector<int>::iterator it;for (int i = 0; i < n; i++) {scanf("%d", &a[i]);a[i] = a[i] - (i + 1); //每一个数减去其所在位置的序号
    }v.push_back(a[0]);for (int i = 1; i < n; i++) {if (a[i] >= *(v.end() - 1)) {v.push_back(a[i]);} else {it = upper_bound(v.begin(), v.end(), a[i]);*(it) = a[i];}}return n - v.size();
}
int main() {int T;scanf("%d", &T);for (int t = 1; t <= T; t++) {printf("Case #%d:\n%d\n", t, work());}return 0;
}

转载于:https://www.cnblogs.com/moonbay/p/4542512.html

hdu 5256 LIS变形相关推荐

  1. hdu 5087(LIS变形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5087 解题思路:这道题其实仔细想想很简单,次长LIS只有两种可能,一种就是等于LIS-1,一种就是LI ...

  2. UVA 1471 Defense Lines (LIS变形)

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

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

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

  4. hdu(1069)——Monkey and Banana(LIS变形)

    题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...

  5. UVA 1471 Defense Lines 防线 (LIS变形)

    给一个长度为n的序列,要求删除一个连续子序列,使剩下的序列有一个长度最大的连续递增子序列. 最简单的想法是枚举起点j和终点i,然后数一数,分别向前或向后能延伸的最长长度,记为g(i)和f(i).可以先 ...

  6. hdu 5410(背包问题变形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5410 解题思路:令dp[i][j][0]表示前i种物品,共j钱,不买第i种物品所能买到的最大值.dp[ ...

  7. hdu 1598(最小生成树变形)

    解题思路:这道题我一开始的思路是动规,dp_max[i][j]表示i-j的最大边,dp_min[i][j]表示i-j的最小边,可是这样会有问题,有可能最大边与最小边不在同一条路径上,这样就很麻烦了. ...

  8. HDU 1114(没有变形的完全背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 Piggy-Bank Time Limit: 2000/1000 MS (Java/Others ...

  9. 1715: 序列变换(LIS变形)

    1715: 序列变换 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 我们有一个数列A1,A2-An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无 ...

最新文章

  1. 半监督目标检测相关方法总结
  2. 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序
  3. 线性最小二乘问题求解的豪斯荷尔德法C实现
  4. 基于STM32的DS1302时钟芯片驱动
  5. python中transpose函数_对numpy中的transpose和swapaxes函数详解
  6. 远去的背影与落日以及一对蒙古年轻夫妻
  7. cocos 时间函数需要什么引用_与时间赛跑:微盟的数据恢复为什么需要这么长时间...
  8. jsp页面科学计数法显示问题的解决办法
  9. MFC初步教程(二)
  10. Oracle日期函数和转换函数
  11. 中国移动MM,你需要了解
  12. 一种辅助整理WoS英文论文题录文档的方法(python-docx)
  13. html5 放风筝,北京最全的放风筝5大最佳地点,地广人稀,不用花钱
  14. day03 python基础
  15. python抢红包 无需电脑_Python助你秒抢红包,拼手速?不存在!
  16. mysql gone away的几种原因
  17. vim简单用法-配合pycharm
  18. DBG、DMB、DSB 和 ISB
  19. TCP的拥塞避免、超时重传、快速重传、快速恢复
  20. SEO外链策略之链接诱饵的制作需知

热门文章

  1. 成都(10月24日时代广场)Windows 7社区发布活动
  2. 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  3. ----移动端移动端调试神器vConsole----
  4. (转)Windows7 “上帝模式”的原理
  5. 51单片机定时器实现LED闪烁
  6. 使用B::Deparse模块对perl代码反汇编
  7. maven 简易入门笔记
  8. http协议常见的响应头
  9. href=#与href=javascriptvoid(0)的区别
  10. Novodex2.6.2 布料系统