P1638 逛画展(尺取)
逛画展 - 洛谷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 逛画展(尺取)相关推荐
- P1638 逛画展——尺取法的妙用
题目描述 博览馆正在展出由世上最佳的 mm 位画家所画的图画. 游客在购买门票时必须说明两个数字,aa 和 bb,代表他要看展览中的第 aa 幅至第 bb 幅画(包含 a,ba,b)之间的所有图画,而 ...
- 洛谷 [P1638 逛画展] (尺取法)
Link https://www.luogu.org/problemnew/show/P1638 Description 博览馆正在展出由世上最佳的 M 位画家所画的图画.wangjy想到博览馆去看 ...
- 尺取法 P1638 逛画展
P1638 逛画展 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 其实就是求刚好拥有所有m种数字的最短区间 思路: 尺取法 当区间内数字种数刚好为m时记录一下最小区间长度 ...
- 洛谷 P1638 逛画展
洛谷 P1638 逛画展 题目链接 题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必 ...
- 洛谷P1638 逛画展
题目描述 博览馆正在展出由世上最佳的 m 位画家所画的图画. 游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一 ...
- P1638 逛画展(直尺法)
这道题是直尺法的模板题: #include<iostream> using namespace std; const int maxn = 1e6 + 5; const int M = 2 ...
- P1638 逛画展(C语言)
题目描述 博览馆正在展出由世上最佳的 m 位画家所画的图画. 游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一 ...
- 洛谷P1638 逛画展-最简单的双指针做法
思路:定义双指针x和y代表[x,y]区间,初始化x=y=0开始遍历,刚开始时一直增加y直到包含了所有作家的画,然后就从左边x开始删区间有重复作家的画就行.注意不要把任何一个作家的画删到0!! 代码如下 ...
- [Luogu]P1638逛画展
注意到满足要求的区间具有单调性,于是想到用滑动窗口. 区间具有单调性,即若[L,R]满足条件, [L,R+1]必满足条件,并且[R+1,L]有可能满足条件.如此一来不用O(n^2)枚举左右端点,这样去 ...
最新文章
- Python初学者请注意!别这样直接运行python命令,否则电脑等于“裸奔”
- 关于网页乱码和字符编码方式
- 计算机基础1模拟题,计算机基础模拟题1(有答案).doc
- Adobe Auditon使用功能(一):将音频文件切分成多段,并将每段音频分别保存到不同的文件中
- 如何用最简单的方式理解傅立叶变换?
- 统计输入中数字出现的次数java,java实现统计文章(英文)中字母、数字、空格和其他字符出现的次数...
- 关于Storm Tick
- 高大上的集团名字_那些刚改了“高大上”名字的学校,你知道都有哪些吗?蜻蜓AI小编来帮你科普一下...
- 如何将一个向量投影到一个平面上_CameraLidar投影:2D3D导航
- 北京电子科技学院计算机怎么样,北京电子科技学院计算机技术怎么样
- 官网下载keil MDK最新版本、历史版本和芯片pack包
- ofbiz中用 ajax 几点注意
- cfile read 最大读取限制_Read文件一个字节实际会发生多大的磁盘IO?
- 【数字电子技术 Digital Electronic Technology 4】——门电路笔记 之 TTL门电路详细剖析
- Linux电镜分析,环境扫描电子显微镜特点
- Windows安全设置-当前的安全设置不允许从该位置下载文件
- java实现excel导入数据库
- 中铁建工集团安装公司基于BIM物资施工运维系统由橄榄山软件研发完成
- Android wifi 常见断开问题总结
- VsCode常用插件和快捷键