题目

现有数列A1,A2,…An ,修改最少的数字,使得数列严格单调递增。

依旧是书上的题

但是书上的范围比较小

lg上的数据范围很大

按书上的

方法

是会超时 只能过一半的数据

但是

算法思路还算可以

所以还是分析一下吧

#include<cstdio>
using namespace std;
int n,l;
int a[100000][3];
int main()
{
 scanf("%d",&n);
 for(int i=1;i<=n;i++)
 {
  scanf("%d",&a[i][1]);
  a[i][2]=1; //每一个数自身就是一个长度为一的最长不下降子序列
 }
 for(int i=n-1;i>=1;i--)
 {
  l=0;
  for(int j=i+1;j<=n;j++)
   if(a[j][1]>a[i][1] && a[j][2]>l) //当a[i]后面的数大于前面的数的时候 
    l=a[j][2];//如果后面有比当前还大的最长子序列 就替换 否则不替换
  if(l>0)
   a[i][2]=l+1;//当后面的一直都是下降的时候 也就是前面循环中的if一直不成立 l必定为0 那么这个就不成立了
 }//从后往前 判断每个点到最后的最长不下降子序列 
 int k=l;
 for(int j=1;j<=n;j++)
  if(a[j][2]>a[k][2])
   k=j;
  printf("%d",n-a[k][2]);//寻找最大子序列并输出最少替换
 return 0;
}

那么

就下来

就是

较优解了

/*题解

相当于找出最长上升子序列,然后要修改的数字数即数列长度减最长上升子序列长度

但是这个最长上升子序列需要优化

有一个经典的二分优化最长上升子序列的方法 设f存放一个上升序列,每次对于数列中的一个数Ai,将它与序列最后面的一个数比较,若大于最后一个数那么上身序列长度+1,否则二分在上升序列中找一个刚好比它大的数,用Ai代替这个数,这样做不会对原有结果产生影响,因为原有结果已经固定了,且不会破坏上升序列,可以使上升序列更优,因为在不破坏严格单调递增同时让序列中的数尽可能小,就可以在序列后放更多的数了 */

#include <cstdio>

using namespace std;

int n,ans=1;//ans 累加器

int a[100005],f[100005];

int main()

{

scanf("%d",&n);

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

scanf("%d",&a[i]);

f[1]=a[1];

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

{

if (a[i]>f[ans])

f[++ans]=a[i];

else

{

int l=1,r=ans,k=0;

while (l<=r)

{

int mid=(l+r)/2;

if (f[mid]<a[i])

k=mid,l=mid+1;

else

r=mid-1;

}//二分替换

f[k+1]=a[i];

}     }

printf("%d",n-ans); }

3902-luogu 最长不下降子区间的更多相关文章

  1. Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列)

    Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列) Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺 ...

  2. 【题解】Luogu P2766 最长不下降子序列问题

    原题传送门 实际还是比较套路的建图 先暴力dp一下反正数据很小 第一小问的答案即珂以求出数列的最长不下降子序列的长度s 考虑第二问如何做: 将每个点拆点 从前向后连一条流量为1的边 如果以它为终点的最 ...

  3. 【Luogu】P2766最长不下降子序列问题(暴力网络流)

    题目链接 水题qwq,数据都那么水. 我要是出数据的人我就卡$n^3$建图. qwq. 然而这么水的题我!居!然!没!有!1!A!!还!提!交!了!五!遍!!! md从现在开始要锻炼1A率了 看我从今 ...

  4. [**P2766** 最长不下降子序列问题](https://www.luogu.org/problemnew/show/P2766)

    P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(dp(i)\)代表以\(i\)为起点的\(LIS\)是多少.转移太显然了 \[ dp(i)=m ...

  5. P2766 最长不下降子序列问题 网络流

    link:https://www.luogu.org/problemnew/show/P2766 题意 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的 ...

  6. 最长不下降子序列(LIS)

    最长上升子序列.最长不下降子序列,解法差不多,就一点等于不等于的差别,我这里说最长不下降子序列的. 有两种解法. 一种是DP,很容易想到,就这样: REP(i,n) { f[i]=; FOR(j,,i ...

  7. 最长不下降子序列 O(nlogn) || 记忆化搜索

    #include<stdio.h> ] , temp[] ; int n , top ; int binary_search (int x) { ; int last = top ; in ...

  8. tyvj 1049 最长不下降子序列 n^2/nlogn

    P1049 最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 ...

  9. 最长不下降子序列的O(n^2)算法和O(nlogn)算法

    一.简单的O(n^2)的算法 很容易想到用动态规划做.设lis[]用于保存第1~i元素元素中最长不下降序列的长度,则lis[i]=max(lis[j])+1,且num[i]>num[j],i&g ...

随机推荐

  1. [PHP]算法- 二叉树的深度的PHP实现

    二叉树的深度: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 思路: 1.非递归层序遍历 2.使用辅助队列,根结点先入队列 ...

  2. 【操作系统】二、JVM线程与Linux内核线程的映射

    Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程. Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是 ...

  3. Hybris CronJob.

    一.概念     CronJobs提供了在特定的时间或者间隔内处理业务逻辑的方法.一般创建一个Cronjob有两种方式,第一种是定义Java类,由Hybris生成脚本并加入数据库.第二种是直接编写gr ...

  4. (二)在实战中使用Sass和Compass

    第三章 无需计算玩转CSS网格布局 3.1 网格布局介绍 3.2 使用网格布局 3.2.1 术语 术语名 定义 是否涉及HTML标签 列 内容度量的垂直单位 否 容器 构成一个网格布局的HTML元素 ...

  5. PHP7.27: MySqlhelper class

    https://github.com/ThingEngineer/PHP-MySQLi-Database-Class https://github.com/wildantea/php-pdo-mysq ...

  6. sql server: 最短路径

    --------------------------------------------------------------------- -- Road System 道路 ------------ ...

  7. a标签禁止跳转或者不跳转的几种实现方式

    1.onclick事件中返回false <a href="http://www.baidu.com"  onclick="return false" &g ...

  8. 微信小程序request同步请求

    今天在搞微信小程序的时候顺手用了async,await死活不起作用,后来查了一下子,竟然不支持,那没办法就换了一种实现wx.request同步请求的方案 祭出promise来搞一搞,下面直接贴代码,简 ...

  9. ArcGIS Portal与Adapter安装问题

    1. WIN2008R2 80端口被system占用解决办法 修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP右侧的star ...

  10. mysql主从复制报错(一主一从):从库报错Last_SQL_Errno: 1008

    配置完主从复制后(一主一从),在从库删了一个测试库,结果在从库上使用show slave status\G查看主从同步状态报如下错误:Last_Errno: 1008,经过排查得知:主从环境删除要先在 ...