C++ STL的妙用
题目:http://codeforces.com/problemset/problem/69/E
题意:输入两个正整数n,m,接下来输入n个整数,求从第一个数开始依次找连续的m个数中的最大的没有重复的数,如果不存在就输出"Nothing",比如输入为:
5 3
1 2 2 3 3
那么就有
1 2 2
2 2 3
2 3 3
这3种情况,它们的最大的没有重复的数字分别是1,3,2
分析:我们这样来做,用一个map和一个set,其中map用来表示一个数出现了几次,set来存储连续的m个数中没有重复的数字,这样就很容易解决了。
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <map>
#include <set>using namespace std;
const int N = 100005;int a[N];
set<int> s;
map<int,int> m;int main()
{int n,k,t;scanf("%d%d",&n,&k);for(int i=0;i<n;i++){scanf("%d",&t);a[i] = t;if(++m[t] == 1)s.insert(t);elses.erase(t);if(i < k-1) continue;t = a[i-k];if(--m[t] == 1)s.insert(t);elses.erase(t);if(s.size())cout<<*(--s.end())<<endl;elsecout<<"Nothing"<<endl;}return 0;
}
C++ STL的妙用相关推荐
- 2015 百度之星 1004 KPI STL的妙用
KPI Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acdream.info/problem?pid=1754 Description 你 ...
- 【有点狂的手撕STL】STL源码剖析精读 000
STL源码剖析精读 前言 通过刷题感受到了C++中STL的妙用,十分的想要提高自己对于STL的理解以及运用能力,因此开设此专栏,并希望能够带领大家一起感受C++中STL的魅力. 一.STL简介 STL ...
- Leetcode刷题笔记12:【20】有效的括号【155】最小栈【255】用队列实现栈(STL:stackC++ 单引号和双引号)
第十天 2021-3-12 每日刷四题 刷题模块:栈 - 简单难度 一.STL:stack C++ stack(STL stack)用法详解 函数 方法 top() 返回一个栈顶元素的引用,类型为 T ...
- 洛谷 P1618 STL全排列方法
洛谷 P1618 & STL全排列方法 今天在做洛谷上暴力专项训练,在解P1618题目的过程中发现了STL中全排列在解题中的妙用,特在此分享. 首先让我们先来看一下这道题: P1618三连击( ...
- 【C/C++】从API学习STL algorithm 001(for_each、find、find_if、find_end、find_first_of 快到碗里来(◕ᴗ◕✿)
今天的主题是, STL algorithm :)~ algorithm概述 The header <algorithm> defines a collection of functions ...
- C++提高编程-泛型编程及STL(上)
c++提高编程(上) 本章主要讨论c++泛型编程 和 stl 技术 -------------------- 文章目录 c++提高编程(上) 1.模板 1.1.模板 1.2.函数模板案例 1.3.普通 ...
- 【天梯赛】 L2-028 秀恩爱分得快 (25 point(s))***(STL|排序)
穿越隧道 大佬版 参考了大佬的思路,又是被自己菜到的一天 思路太妙了,大佬们的STL基础也超好. #include <bits/stdc++.h> using namespace std; ...
- c语言 raii 用法日志,RAII 妙用之 ScopeExit
原标题:RAII 妙用之 ScopeExit 什么是RAII Resource Acquisition Is Initialization, 资源获取即初始化,将资源的生命周期与一个对象的生命周期绑定 ...
- 牛客竞赛语法入门班数组栈、队列和stl习题
牛客竞赛语法入门班数组栈.队列和stl习题 L 指纹锁 set ,自带排序功能 可重写排序函数 cmp,注意外边写的要写成 operator()operator()operator(),结构体内部的排 ...
最新文章
- geometry-api-java 学习笔记(一)概述
- Java中各种整形类型可以表示的范围
- java日期大小比较
- 吴裕雄--天生自然 高等数学学习:两类曲线积分之间的联系
- 基于暗通道先验的单幅图像去雾
- java实现关注微信公众号推送模板消息
- PCB板上走100A电流的方法
- bcnf分解算法_BCNF的保持无损连接的分解
- Java文字转图片超出内容自动换行
- 3、一层、二层、交换机原理、Cisco软件及命令
- 虚拟专用网络安全技术
- C++ Primer Plus 学习笔记(十一)
- python Crypto.Cipher
- 小招喵喜欢吃喵粮(贪心、二分查找)
- matlab 三维相交面,MATLAB画三维图时如何画相交部分
- 即席查询(Ad Hoc)如何做到又快又稳?
- (翻译)自我监督模式(Self-Monitoring)
- 2020年2月12日 林大OJ习题 队列
- CSDN、Jupyter notebook、有道云笔记和Typora四者通用的Markdown语法
- 写代码应该用什么字体?