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

代码如下

#include <iostream>
#include <algorithm>
using namespace std;
int arr[1000005];
int co[1000005];//co[i]代表在当前区间第i个作家的画数
int flag;
int main()
{int n, m, ans = 0x3f3f3f3f;cin >> n >> m;int x = 1, ansx, ansy;//区间为【x,y】但y在后面有循环来代替了int cnt = 0;//当前区间包含了cnt个作家for (int i = 1; i <= n; i++){cin >> arr[i];}for (int i = 1; i <= n; i++)//i代表区间右端y{if (++co[arr[i]] == 1)//第一次收录该作家的画cnt++;if (cnt == m){while (co[arr[x]] > 1){//如果左边x指的画还有同作者的画那就可以删左边的画co[arr[x]]--;x++;}if (ans > i - x){//更新更省钱的方案ansy = i;ansx = x;ans = i - x;}}}cout << ansx << " " << ansy << endl;return 0;
}

洛谷P1638 逛画展-最简单的双指针做法相关推荐

  1. 洛谷 P1638 逛画展

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

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

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

  3. 洛谷P1638 逛画展

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

  4. 【洛谷 P1638】 【单调队列】 逛画展

    [洛谷 P1638] [单调队列] 逛画展 题目 解题思路 先求出最前面囊括所有画的位置 然后如果左边界的画不止存在一次,左边界右移 不断扩展右边界,求取答案 代码 #include<iostr ...

  5. 尺取法 P1638 逛画展

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

  6. P1638 逛画展(尺取)

    逛画展 - 洛谷https://www.luogu.com.cn/problem/P1638 #include <iostream> #include <cstdio> #in ...

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

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

  8. 洛谷 P3953 逛公园

    原题链接 题目描述 策策同学特别喜欢逛公园.公园可以看成一张 NN 个点 MM 条边构成的有向图,且没有 自环和重边.其中 11 号点是公园的入口,NN 号点是公园的出口,每条边有一个非负权值, 代表 ...

  9. 洛谷P3953 逛公园(dp 拓扑排序)

    题意 题目链接 Sol 去年考NOIP的时候我好像连最短路计数都不会啊qwq.. 首先不难想到一个思路,\(f[i][j]\)表示到第\(i\)个节点,与最短路之差长度为\(j\)的路径的方案数 首先 ...

最新文章

  1. 面试官:聊聊分布式事务,再说说解决方案!
  2. 正则表达式 学习笔记5.3
  3. led灯光衰怎么解决_什么是LED光衰,光衰怎么解决?
  4. 【笨嘴拙舌WINDOWS】字符类型与字符串
  5. multiple problems have occured
  6. Java多线程系列--“JUC原子类”03之 AtomicLongArray原子类
  7. pytorch Dataset, DataLoader产生自定义的训练数据
  8. 达内php吾爱_2018年达内c++全套视频课程(不加密)
  9. java-number
  10. php 实现类,php 获取页面中指定内容的实现类
  11. [架构] 分布式和集群的区别
  12. 5分绩点转4分_高考语文如何考上120分?衡中老师建议:这5点高中生必须重视
  13. android h5语音,html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia...
  14. 【BZOJ3669】【codevs3314】魔法森林,写作LCT,读作SPFA
  15. OpenShift 4 - 使用 Trivy Operator 对项目中的镜像进行安全扫描
  16. stl之set集合容器应用基础
  17. C++基础教程之引用
  18. html中label中的for属性
  19. Spring中自动装配
  20. rpcbind.service启动失败

热门文章

  1. tkinter滚动事件详解
  2. h5上下滑动动画效果(vue)
  3. 1248. 统计「优美子数组」 前缀和
  4. Vuforia 使用
  5. 5G核心网SBA架构
  6. 咸鱼硬件—ZTMS串口终端交互
  7. 蒙特卡罗树搜索的笔记
  8. qiankun 传统项目配置_qiankun配置父子应用及挂载问题
  9. 安卓开发学习日记第一天(笑)_Android Studio3.6安装_莫韵乐的快乐笔记
  10. Python下载data:image/jpeg;base64,