逛画展 - 洛谷https://www.luogu.com.cn/problem/P1638

#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <cstring>
#include <set>
#include <cmath>
#include <map>
#include <cstdlib>
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
const int MN = 65005;
const int MAXN = 2000010;
const int INF = 0x3f3f3f3f;
#define IOS ios::sync_with_stdio(false)int n, m;
int s[MAXN];
int v[MAXN];void solve() {int l, r;l = r = 1;int sum = 0;int mon = 0;int rec = INF;int a, b;while (l <= r && r <= n + 1) {while (sum < m && r <= n + 1) {if (v[s[r]] == 0) {sum++;}v[s[r++]]++;mon++;}if (sum == m) {if (rec > mon) {a = l;b = r - 1;rec = mon;}}v[s[l]]--;mon--;if (v[s[l++]] == 0) {sum--;}}printf("%d %d", a, b);
}int main() {scanf("%d %d", &n, &m);for (int i = 1; i <= n; i++) {scanf("%d", s + i);}solve();return 0;
}

P1638 逛画展(尺取)相关推荐

  1. P1638 逛画展——尺取法的妙用

    题目描述 博览馆正在展出由世上最佳的 mm 位画家所画的图画. 游客在购买门票时必须说明两个数字,aa 和 bb,代表他要看展览中的第 aa 幅至第 bb 幅画(包含 a,ba,b)之间的所有图画,而 ...

  2. 洛谷 [P1638 逛画展] (尺取法)

    Link https://www.luogu.org/problemnew/show/P1638 Description  博览馆正在展出由世上最佳的 M 位画家所画的图画.wangjy想到博览馆去看 ...

  3. 尺取法 P1638 逛画展

    P1638 逛画展 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 其实就是求刚好拥有所有m种数字的最短区间 思路: 尺取法 当区间内数字种数刚好为m时记录一下最小区间长度 ...

  4. 洛谷 P1638 逛画展

    洛谷 P1638 逛画展 题目链接 题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必 ...

  5. 洛谷P1638 逛画展

    题目描述 博览馆正在展出由世上最佳的 m 位画家所画的图画. 游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一 ...

  6. P1638 逛画展(直尺法)

    这道题是直尺法的模板题: #include<iostream> using namespace std; const int maxn = 1e6 + 5; const int M = 2 ...

  7. P1638 逛画展(C语言)

    题目描述 博览馆正在展出由世上最佳的 m 位画家所画的图画. 游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一 ...

  8. 洛谷P1638 逛画展-最简单的双指针做法

    思路:定义双指针x和y代表[x,y]区间,初始化x=y=0开始遍历,刚开始时一直增加y直到包含了所有作家的画,然后就从左边x开始删区间有重复作家的画就行.注意不要把任何一个作家的画删到0!! 代码如下 ...

  9. [Luogu]P1638逛画展

    注意到满足要求的区间具有单调性,于是想到用滑动窗口. 区间具有单调性,即若[L,R]满足条件, [L,R+1]必满足条件,并且[R+1,L]有可能满足条件.如此一来不用O(n^2)枚举左右端点,这样去 ...

最新文章

  1. Python初学者请注意!别这样直接运行python命令,否则电脑等于“裸奔”
  2. 关于网页乱码和字符编码方式
  3. 计算机基础1模拟题,计算机基础模拟题1(有答案).doc
  4. Adobe Auditon使用功能(一):将音频文件切分成多段,并将每段音频分别保存到不同的文件中
  5. 如何用最简单的方式理解傅立叶变换?
  6. 统计输入中数字出现的次数java,java实现统计文章(英文)中字母、数字、空格和其他字符出现的次数...
  7. 关于Storm Tick
  8. 高大上的集团名字_那些刚改了“高大上”名字的学校,你知道都有哪些吗?蜻蜓AI小编来帮你科普一下...
  9. 如何将一个向量投影到一个平面上_CameraLidar投影:2D3D导航
  10. 北京电子科技学院计算机怎么样,北京电子科技学院计算机技术怎么样
  11. 官网下载keil MDK最新版本、历史版本和芯片pack包
  12. ofbiz中用 ajax 几点注意
  13. cfile read 最大读取限制_Read文件一个字节实际会发生多大的磁盘IO?
  14. 【数字电子技术 Digital Electronic Technology 4】——门电路笔记 之 TTL门电路详细剖析
  15. Linux电镜分析,环境扫描电子显微镜特点
  16. Windows安全设置-当前的安全设置不允许从该位置下载文件
  17. java实现excel导入数据库
  18. 中铁建工集团安装公司基于BIM物资施工运维系统由橄榄山软件研发完成
  19. Android wifi 常见断开问题总结
  20. VsCode常用插件和快捷键

热门文章

  1. 中国手机游戏业的若干矛盾
  2. 09含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度
  3. 操作系统学习笔记——第九讲——虚拟内存(9.4页框分配和颠簸)
  4. 一文详解激光SLAM框架LeGO-LOAM
  5. 红警2/尤里复仇win10兼容补丁CnC-DDraw,彻底解决无法运行和卡顿的问题
  6. php pcntl fork使用,php中pcntl_fork详解
  7. python xlrd_python学习之xlrd的使用
  8. NXP(恩智浦)iMX8M Plus 处理器介绍
  9. Hystrix断路器原理
  10. ue4模型导出_UE4-导入和导出