目录

题目

题解


题目

  • 1000ms
  • 524288K

蜗牛在制定今天的旅游计划,有 nn 个景点可选,它已经把这些景点按照顺路游览的顺序排成一排了,每个地方有相应的景观,这里用一个整数表示。

蜗牛希望选取连续的一段景点,还要选出来的每一个景点的景观都不同,问它最多能选出多少个景点进行旅游。

输入格式

第一行,一个正整数 n(1≤n≤10^5)。

第二行,包含 n 个正整数 ai​(1≤ai​≤10^6) ,第 i 个整数表示第 i 个景点的景观。

输出格式

输出一行,包含一个整数,表示蜗牛最多能选出的景点数。

数据范围

对于 60% 的数据,1≤n≤10^3

对于 100% 的数据,1≤n≤10^5,1≤ai​≤10^6

输出时每行末尾的多余空格,不影响答案正确性

要求使用「文件输入输出」的方式解题,输入文件为 tour.in,输出文件为 tour.out

样例输入

5
1 2 3 2 1

样例输出

3

题解:

知识点:队列

分析: 模拟一遍即可,注意细节

代码:

#include<iostream>
#include<cstdio>
#include<queue>
#include<map>
using namespace std;
const int N=1e6+5;
queue<int> q;
map<int,int> a;//用map节省空间
bool vis[N];
int main(){freopen("tour.in","r",stdin);freopen("tour.out","w",stdout);int n,ans=0;scanf("%d",&n);for (int i=0;i<n;i++){int a1;scanf("%d",&a1);a[i]=a1;}for (int i=0;i<n;i++){if (!vis[a[i]]){q.push(a[i]);vis[a[i]]=true;}else{while (!q.empty()){if (q.front()!=a[i]){vis[q.front()]=false;q.pop();}else{q.pop();vis[q.front()]=false;q.push(a[i]);break;}}}if (q.size()>ans){//注意,不能用maxans=q.size();}}cout<<ans<<endl;return 0;
}

C++题解:蜗牛旅行相关推荐

  1. [某人的题解]徒步旅行(travel)

    题目描述 小 A 决定开始一场奇妙的徒步旅行,旅行地图可以看成是一个平面直角坐标系,小 A 从家O(0,0)O(0, 0)O(0,0)出发,每一步移动只能由他此时所在的位置(x,y)(x,y)(x,y ...

  2. 【GDOI2014模拟】旅行 题解代码

    原题 Description 从前有一位旅者,他想要游遍天下所有的景点.这一天他来到了一个神奇的王国:在这片土地上,有n个城市,从1到n进行编号.王国中有m条道路,第i条道路连接着两个城市ai,bi, ...

  3. 洛谷 P1137 旅行计划 题解

    洛谷 P1137 旅行计划 题解 洛谷 P1137 题目 小明要去一个国家旅游.这个国家有 N N N个城市,编号为1至 N N N,并且有 M M M条道路连接着,小明准备从其中一个城市出发,并只往 ...

  4. 【题解】【AcWing】1507. 旅行计划

    1507. 旅行计划 原题传送:AcWing 1507. 旅行计划 给定一张地图,包含 N N N 个城市, M M M 条高速公路. 城市之间都能相互连通. 每条高速公路的长度和走该条公路的花费都是 ...

  5. 【luogu P5022 旅行】 题解

    题目连接:https://www.luogu.org/problemnew/show/P5022 \(NOIP2018 DAY2T1\) 考场上只写了60分,很容易想到当 m = n - 1 时的树的 ...

  6. 【NOIP2018】旅行 (洛谷P5049 / P5022) O(nlogn)题解

    阅读和学习本篇题解前,你应该掌握: C++ STL stack.vector.queue.pair的基本用法: 递归.搜索和贪心思想. 洛谷传送门 P5049 此题可以先从数据范围入手,观察m的范围( ...

  7. 题解 P5022 【旅行】

    小 Y 是一个爱好旅行的 OIer.她来到 X 国,打算将各个城市都玩一遍. 小Y了解到, X国的 nnn 个城市之间有 mmm 条双向道路.每条双向道路连接两个城市. 不存在两条连接同一对城市的道路 ...

  8. 题解 P1081 【开车旅行】

    小 A \text{A} A 和小 B \text{B} B 决定利用假期外出旅行,他们将想去的城市从 $1 $ 到 n n n 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互 ...

  9. 题解报告:hdu 2066 一个人的旅行

    Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...

最新文章

  1. Java --循环截取字符串
  2. WinAPI: SetWindowPos - 改变窗口的位置与状态
  3. ng-repeat 的重复问题
  4. python opencv cv.waitKey(1) 0xFF 的作用
  5. C语言 数字和字符串的转换 error
  6. es6 --- 解构赋值的简洁性
  7. ArcGIS Server安装的几个问题
  8. c 形参 可变 入门
  9. 信息学奥赛一本通C++语言——1019: 浮点数向零舍入
  10. latex中erro:extra alignment tab has changed to\cr但列数没错的解决方法
  11. jq+layui之保存修改的表状态
  12. 在小树林飞也能又快又稳,这是港科大沈劭劼组的「猛禽」无人机重规划框架...
  13. flink 自定义 窗口_Flink源码分析: 窗口机制的执行流程
  14. python做app接口测试_一种APP接口自动化测试方法与流程
  15. java CRC32
  16. Linux的DNS深度学习(DNS服务器搭建)
  17. 榜单!DMS/OMS高增速,舱内感知交互摄像头供应商TOP10
  18. 项目管理—领导力与管理的区别
  19. GHOST XP SP2 遐想网络 纯净版
  20. mysql中dml全称是什么_dml是什么?

热门文章

  1. DFS(深度优先搜索)算法实现
  2. 抖音昵称html,抖音最近流行这种符号,放昵称超好看!
  3. 通过两张趣图,看工程师的自我反省
  4. 物理学和数学能完整描述真实吗?
  5. 桌面计算机怎么设置时钟同步,电脑显示时间怎么设置
  6. arcgis九段线、南海诸岛
  7. CVS库,目录入库说明
  8. (Python3)L1-007 念数字 (10分)
  9. java8日期时间格式化与解析
  10. 软件设计师9--正则表达式