POJ 3320 尺取法,Hash,map标记
1、POJ 3320
2、链接:http://poj.org/problem?id=3320
3、总结:尺取法,Hash,map标记
看书复习,p页书,一页有一个知识点,连续看求最少多少页看完所有知识点
必须说,STL够屌。。
#include<iostream> #include<cstring> #include<cmath> #include<queue> #include<algorithm> #include<cstdio> #include<map> using namespace std; #define LL long long #define INF 0x3f3f3f3f const int N=1000100; int p,a[N]; map<int,int>n,x;int main() {while(~scanf("%d",&p)){for(int i=1;i<=p;i++){scanf("%d",&a[i]);n[a[i]]++;}int s=n.size(); //记录总类别int l=1,r=1,ans=INF;while(true){while((r<=p)&&(x.size()<s)){ //尺取法,要满足范围要求,否则右端点移动x[a[r++]]++;}if(x.size()<s)break; ans=min(ans,r-l); x[a[l++]]--;if(x[a[l-1]]<=0)x.erase(a[l-1]); //关健点,在范围内这个类别数<=0,就删去 }printf("%d\n",ans);}return 0; }
View Code
转载于:https://www.cnblogs.com/sbfhy/p/5731030.html
POJ 3320 尺取法,Hash,map标记相关推荐
- 尺取法 POJ 3320 Jessica's Reading Problem
题目传送门 1 /* 2 尺取法:先求出不同知识点的总个数tot,然后以获得知识点的个数作为界限, 更新最小值 3 */ 4 #include <cstdio> 5 #include &l ...
- 【POJ - 3320 】Jessica's Reading Problem (尺取,哈希)
题干: Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The final exam i ...
- 尺取法 POJ 3601 Subsequence
题目传送门 1 /* 2 题意:求连续子序列的和不小于s的长度的最小值 3 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 4 1. 记录前i项的总和,求[i, p)长度的最小值,用二分 ...
- POJ 3061 (二分+前缀和or尺取法)
题目链接: http://poj.org/problem?id=3061 题目大意:找到最短的序列长度,使得序列元素和大于S. 解题思路: 两种思路. 一种是二分+前缀和.复杂度O(nlogn).有点 ...
- ACM常用技巧之尺取法--POJ3061/3320/2739/2100
尺取法:反复推进区间的开头和结尾,来求取满足条件的最小区间的方法 . <挑战程序设计>P146 POJ3061 Subsequence Time Limit: 1000MS M ...
- poj 3061(尺取法)
从长为n的全为正数的数组a中,找到个数最少的连续子数列使其和>=m example: n=10,m=15,a[10]={5 1 3 5 10 7 4 9 2 8},结果为2 解题思路:昨天做了一 ...
- Bound Found POJ - 2566(尺取法+前缀和创造区间变化趋势)
题意: 给定一个数组和一个值t,求一个子区间使得其和的绝对值与t的差值最小,如果存在多个,任意解都可行. 题目: Signals of most probably extra-terrestrial ...
- 【常用技巧精选】尺取法
整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...
- poj3320Jessica's Reading Problem—尺取法(java)
题目链接 大意:给序列数字,找出最小子序列,包含所有的元素类型.例如 5 1 8 8 8 1 输出2,因为1 8就包含了所有元素 思路:尺取法 这个和裸的尺取优点不同的是,他需要一个map来维护判断而 ...
最新文章
- CodeForces - 960F[动态开点线段树优化dp]详解
- JS的深拷贝和浅拷贝
- IE8不支持jQuery问题
- 鼠标拖动改变DIV等网页元素的大小的最佳实践
- python tkinter button_更改Python中Tkinter Button的命令方法
- Vue异步获取数据后初始化数据不能及时更新
- 旅游日记——2000元北京6天5夜游
- 如何查询linux服务器的网卡,linux怎么查看网卡硬件信息
- Python+FFmpeg提取哔哩哔哩安卓缓存
- 苹果笔记本linux系统安装教程视频教程,苹果系统安装教程,小编教你苹果电脑怎么重装系统...
- 5G和4G的区别到底在哪里?
- edge linux 下载软件,微软Edge浏览器Linux开发版
- Opengl ES之矩阵变换
- win10开机启动文件夹路径
- 在同一台机运行多个mysql 服务 多个主/从在同一主机_[ 原创 ]在同一台机运行多个Mysql 服务 多个主/从在同一主机...
- HTML个人简历表制作
- 万豪国际集团于上海开设第五家福朋喜来登酒店
- 我在阿里做测试这5年总结的7条生存经验。
- 广西单招计算机科学与技术专业,广西单招考什么科目
- 通过实验对比十大排序算法
热门文章
- python编程题-python编程练习题
- esp32 python-ESP32及其开发板介绍
- python的工作方向-python最赚钱的4个方向,你最心动的是哪个?
- python常用内置模块-Python基础-22常用内置模块
- python装饰器函数-Python精进-装饰器与函数对象
- python3下载安装配置-Linux 安装python3.7.3
- python语言怎么学-如何学习Python,以及新手如何入门?
- python代码大全o-Python实现的一个自动售饮料程序代码分享
- python常用内置函数总结-python常用内置函数整理—反射
- 用python画烟花-用python实现漂亮的烟花demo