Description

题目链接

Solution

设一个l指针指向当前数列左边,从左往右扫描一遍,将当前颜色记录,

当所有颜色都得到后,进行判断,如果当前l指向的颜色大于需要的颜色,l后移一位,然后更新答案

Code

#include <cstdio>
#include <set>
#define N 200010
using namespace std;set<int> q;
int n,m,col[N],cnt[N],k[N],Ans=1e9,sum,l=1,r;inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}int main(){freopen("in.txt","r",stdin);n=read(),m=read();for(int i=1;i<=n;col[i++]=read());for(int i=1;i<=m;++i){if(k[i]=read()) q.insert(i);sum+=k[i];}for(r=1;r<=n;++r){if(++cnt[col[r]]==k[col[r]]) q.erase(col[r]);if(q.empty()){while(l<=r&&cnt[col[l]]>k[col[l]]) cnt[col[l++]]--;Ans=min(Ans,r-l+1-sum);}}if(Ans==1e9) Ans=-1;printf("%d\n",Ans);return 0;
}

转载于:https://www.cnblogs.com/void-f/p/8858223.html

[Codeforces958F2]Lightsabers (medium)(思维)相关推荐

  1. 数据科学中的强大思维

    如果你参加过统计学入门课程,就会知道数据点可以用来激发灵感,也可以用来测试理论,但两者却不能兼顾,这是为什么呢? 人类擅长在所有的事物中寻找对应的模式. 真模式,假模式,命名的模式. 我们是那种能在薯 ...

  2. 数据结构稀疏矩阵的加法十字链表_学习数据结构和算法的框架思维

    ----------- 通知:如果本站对你学习算法有帮助,请收藏网址,并推荐给你的朋友.由于 labuladong 的算法套路太火,很多人直接拿我的 GitHub 文章去开付费专栏,价格还不便宜.我这 ...

  3. 数据科学的5种基本的面向业务的批判性思维技能

    批判性思维 As Alexander Pope said, to err is human. By that metric, who is more human than us data scient ...

  4. 克服浮躁_设计思维:您克服并赢得低迷的最终工具。

    克服浮躁 设计思维101 (Design thinking 101) Let's begin by getting ourselves clear on the question: What is d ...

  5. 你已经是一个成熟的码农了,这些思维习惯你要有!

    不想成为好程序员的码农不是好工程师.出色的码农都具备怎样的思维习惯?这里有 25 条成熟的小建议. 「即使进行小的软件变更也很困难!」 「进行变更会破坏软件的特性.」 「修复一个 bug 的同时又引入 ...

  6. 人工智能ai思维_人工智能系统如何学习创造性思维

    人工智能ai思维 In such a hot situation of artificial intelligence, there have been many examples of using ...

  7. 贝叶斯 定理_贝叶斯定理:批判性思维框架

    贝叶斯 定理 Have you ever noticed how you can be fuming with anger one second and absolutely calm the nex ...

  8. 设计师思维 工程师思维_从设计思维到设计行为

    设计师思维 工程师思维 By Marco Ossani & Gianluca Gambatesa Marco Ossani和Gianluca Gambatesa 为什么尽管进行了诚实的努力和对 ...

  9. 转发一篇好文:36氪翻译自medium的文章: 读书没有 KPI:为什么坚持“一年读 100 本书”没用?...

    你只是为了达成所谓的数量目标而读书. 编者按:读书本是一项安静.缓慢的活动,但随着现代社会节奏的加快,信息技术的广泛普及,读书这一行为模式也开始发生了变化.越来越多的人开始碎片化阅读,并且越来越多的文 ...

最新文章

  1. 嵌入式系统自动使能alias
  2. stl源码剖析_STL之set源码剖析
  3. TextBlock 格式化内容
  4. 【ajax】前端ajax传值的几种方法
  5. 新浪微盘等大批网盘将关停 你的私藏文件导出来了吗?
  6. Apache JMeter使用教程
  7. Matlab最小二乘系统辨识
  8. 环境试验箱GB/T 2423标准下载合集
  9. netstate 命令归纳
  10. MIPI 和 DSI 协议
  11. python bunch制作可导入数据_Python bunch包_程序模块 - PyPI - Python中文网
  12. 【重磅】DeepMind开源史上最全强化学习框架OpenSpiel(附安装方法)
  13. 通过加速或跳过网页视频解决进度条无法拖动问题
  14. Elasticsearch 搜索引擎开发实战
  15. 静态代理的实现-模拟中介代理房东出租房子给房客
  16. 详解 ARM PMU (Performance Monitoring Unit)
  17. 模拟电子技术(二)基本放大电路
  18. cmnet是什么 cmnet是什么意思?cmnet和cmwap的区别在哪里
  19. 对于“int a[] = new int[3];”,下列哪个叙述是错误的?
  20. 如何彻底关闭 Hyper-V 服务

热门文章

  1. MySQL笔记1:考察内链接、左连接、右连接。
  2. Linux中top命令的用法详解
  3. 把指定用户的命令写在/home/etc/rc.local中,系统开机时就会自动执行指定用户的命令。
  4. WEB 3.0(非技术版)
  5. mysql二: 常用命令
  6. 【探索PowerShell 】【一】初识
  7. 基于Windows Server 2003 ntbackup下数据文件的完整备份与差异备份
  8. 安卓 listView 组件的使用
  9. 【问题】定时任务整理笔记附问题求大佬解答!!!!
  10. 有关T-SQL的10个好习惯