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标记相关推荐

  1. 尺取法 POJ 3320 Jessica's Reading Problem

    题目传送门 1 /* 2 尺取法:先求出不同知识点的总个数tot,然后以获得知识点的个数作为界限, 更新最小值 3 */ 4 #include <cstdio> 5 #include &l ...

  2. 【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 ...

  3. 尺取法 POJ 3601 Subsequence

    题目传送门 1 /* 2 题意:求连续子序列的和不小于s的长度的最小值 3 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 4 1. 记录前i项的总和,求[i, p)长度的最小值,用二分 ...

  4. POJ 3061 (二分+前缀和or尺取法)

    题目链接: http://poj.org/problem?id=3061 题目大意:找到最短的序列长度,使得序列元素和大于S. 解题思路: 两种思路. 一种是二分+前缀和.复杂度O(nlogn).有点 ...

  5. ACM常用技巧之尺取法--POJ3061/3320/2739/2100

    尺取法:反复推进区间的开头和结尾,来求取满足条件的最小区间的方法  .    <挑战程序设计>P146 POJ3061 Subsequence Time Limit: 1000MS   M ...

  6. poj 3061(尺取法)

    从长为n的全为正数的数组a中,找到个数最少的连续子数列使其和>=m example: n=10,m=15,a[10]={5 1 3 5 10 7 4 9 2 8},结果为2 解题思路:昨天做了一 ...

  7. Bound Found POJ - 2566(尺取法+前缀和创造区间变化趋势)

    题意: 给定一个数组和一个值t,求一个子区间使得其和的绝对值与t的差值最小,如果存在多个,任意解都可行. 题目: Signals of most probably extra-terrestrial ...

  8. 【常用技巧精选】尺取法

    整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...

  9. poj3320Jessica's Reading Problem—尺取法(java)

    题目链接 大意:给序列数字,找出最小子序列,包含所有的元素类型.例如 5 1 8 8 8 1 输出2,因为1 8就包含了所有元素 思路:尺取法 这个和裸的尺取优点不同的是,他需要一个map来维护判断而 ...

最新文章

  1. CodeForces - 960F[动态开点线段树优化dp]详解
  2. JS的深拷贝和浅拷贝
  3. IE8不支持jQuery问题
  4. 鼠标拖动改变DIV等网页元素的大小的最佳实践
  5. python tkinter button_更改Python中Tkinter Button的命令方法
  6. Vue异步获取数据后初始化数据不能及时更新
  7. 旅游日记——2000元北京6天5夜游
  8. 如何查询linux服务器的网卡,linux怎么查看网卡硬件信息
  9. Python+FFmpeg提取哔哩哔哩安卓缓存
  10. 苹果笔记本linux系统安装教程视频教程,苹果系统安装教程,小编教你苹果电脑怎么重装系统...
  11. 5G和4G的区别到底在哪里?
  12. edge linux 下载软件,微软Edge浏览器Linux开发版
  13. Opengl ES之矩阵变换
  14. win10开机启动文件夹路径
  15. 在同一台机运行多个mysql 服务 多个主/从在同一主机_[ 原创 ]在同一台机运行多个Mysql 服务 多个主/从在同一主机...
  16. HTML个人简历表制作
  17. 万豪国际集团于上海开设第五家福朋喜来登酒店
  18. 我在阿里做测试这5年总结的7条生存经验。
  19. 广西单招计算机科学与技术专业,广西单招考什么科目
  20. 通过实验对比十大排序算法

热门文章

  1. python编程题-python编程练习题
  2. esp32 python-ESP32及其开发板介绍
  3. python的工作方向-python最赚钱的4个方向,你最心动的是哪个?
  4. python常用内置模块-Python基础-22常用内置模块
  5. python装饰器函数-Python精进-装饰器与函数对象
  6. python3下载安装配置-Linux 安装python3.7.3
  7. python语言怎么学-如何学习Python,以及新手如何入门?
  8. python代码大全o-Python实现的一个自动售饮料程序代码分享
  9. python常用内置函数总结-python常用内置函数整理—反射
  10. 用python画烟花-用python实现漂亮的烟花demo