CF1223D

不需要动的一定值域连续

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#define LL long long
using namespace std; const int M = 310001;
int n,m,k,a[M],T,L[M],R[M],l,res,s; int main()
{
scanf("%d",&T);
for(;T;T--)
{
scanf("%d",&n); m=0; res=0x3f3f3f3f; s=0;
for(int i=1;i<=n;i++) L[i]=0x3f3f3f3f, R[i]=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if(!R[a[i]]) m++;
L[a[i]]=min(L[a[i]],i);
R[a[i]]=max(R[a[i]],i);
}
int r=0, x=0, y=1; for(int x=1;x<=n;x++) if(R[x])
{
if(s) s--;
if(!s) r=R[x], s++;
y=max(y,x);
while((!R[y+1] || L[y+1]>r) &&y<n)
{
y++;
if(!R[y]) continue;
r=R[y]; s++;
}
res=min(res,m-s);
}
printf("%d\n",res);
}
}

CF1223D的更多相关文章

  1. CF1223D Sequence Sorting

    思路: 首先把数组离散化,然后观察可以发现,在最优解中最终没有被移动过的那些数字一定是连续的,那么找到最长的连续的数字长度即可. 实现: #include <bits/stdc++.h> ...

  2. HGOI 20191103am 题解

    Problem A number 使用一个$2^k$数集中每个元素的和表示数$n$,不同集合的数目有多少? 对于$100\%$的数据满足$1 \leq n \leq 10^6$ Solution : ...

  3. 在$CF$水题の记录

    CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...

  4. DP刷题记录(持续更新)

    DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\ ...

随机推荐

  1. spring boot 多环境(dev、test、prod)配置文件---命令行切换

    properties配置格式 在Spring boot 中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对于你的环境标识,比如: ...

  2. 怒转一波,此人整理的Flink特别好

    Apache Flink:特性.概念.组件栈.架构及原理分析 Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtim ...

  3. C#设计模式:状态者模式(State Pattern)

    一,什么是状态设计模式? 1,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 2,当一个对象的内部状态改变时允许改变其行为,这个对象看起来像是 ...

  4. Python的基础类型(int,bool,str):

    Python的基础类型(int,bool,str): 1.int -------> 整形:主要用力进行数字计算 2.string ------>字符串:可以保存少量数据并进行相关的操作 3 ...

  5. WPFの触发器详解

    例子1 简单触发器Triggers——满足简答的条件,触发 <Window x:Class="Styles.SimpleTriggers" xmlns="http: ...

  6. Web 请求之--性能相关

    本博客代码运行环境 python : Python 3.7.1rc1 version pip : pip 19.1.1 version Scrapy: scrapy 1.6.0 version asy ...

  7. Linux里lftp总结

    lftp的功能比较强大,相比原来用ftp,方便了很多. 1.登陆: lftp ftp://yourname@site pwd:***** 或 open ftp://yourname@site 基本操作 ...

  8. 转帖 Java生成和操作Excel文件

    JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...

  9. 安装cuDNN

    cuDNN cuDNN是GPU加速计算深层神经网络的库(下载链接,前文已提供). 本人的下载文件是:cudnn-7.0-linux-x64-v4.0-prod.tgz 在终端中切换到文件所在文件夹,输 ...

  10. Mysql查看编码方式

    查看数据库的字符集 show variables like 'character\_set\_%'; 输出: +--------------------------+--------+ | Varia ...