C++题解:蜗牛旅行
目录
题目
题解
题目
- 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++题解:蜗牛旅行相关推荐
- [某人的题解]徒步旅行(travel)
题目描述 小 A 决定开始一场奇妙的徒步旅行,旅行地图可以看成是一个平面直角坐标系,小 A 从家O(0,0)O(0, 0)O(0,0)出发,每一步移动只能由他此时所在的位置(x,y)(x,y)(x,y ...
- 【GDOI2014模拟】旅行 题解代码
原题 Description 从前有一位旅者,他想要游遍天下所有的景点.这一天他来到了一个神奇的王国:在这片土地上,有n个城市,从1到n进行编号.王国中有m条道路,第i条道路连接着两个城市ai,bi, ...
- 洛谷 P1137 旅行计划 题解
洛谷 P1137 旅行计划 题解 洛谷 P1137 题目 小明要去一个国家旅游.这个国家有 N N N个城市,编号为1至 N N N,并且有 M M M条道路连接着,小明准备从其中一个城市出发,并只往 ...
- 【题解】【AcWing】1507. 旅行计划
1507. 旅行计划 原题传送:AcWing 1507. 旅行计划 给定一张地图,包含 N N N 个城市, M M M 条高速公路. 城市之间都能相互连通. 每条高速公路的长度和走该条公路的花费都是 ...
- 【luogu P5022 旅行】 题解
题目连接:https://www.luogu.org/problemnew/show/P5022 \(NOIP2018 DAY2T1\) 考场上只写了60分,很容易想到当 m = n - 1 时的树的 ...
- 【NOIP2018】旅行 (洛谷P5049 / P5022) O(nlogn)题解
阅读和学习本篇题解前,你应该掌握: C++ STL stack.vector.queue.pair的基本用法: 递归.搜索和贪心思想. 洛谷传送门 P5049 此题可以先从数据范围入手,观察m的范围( ...
- 题解 P5022 【旅行】
小 Y 是一个爱好旅行的 OIer.她来到 X 国,打算将各个城市都玩一遍. 小Y了解到, X国的 nnn 个城市之间有 mmm 条双向道路.每条双向道路连接两个城市. 不存在两条连接同一对城市的道路 ...
- 题解 P1081 【开车旅行】
小 A \text{A} A 和小 B \text{B} B 决定利用假期外出旅行,他们将想去的城市从 $1 $ 到 n n n 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互 ...
- 题解报告:hdu 2066 一个人的旅行
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
最新文章
- Java --循环截取字符串
- WinAPI: SetWindowPos - 改变窗口的位置与状态
- ng-repeat 的重复问题
- python opencv cv.waitKey(1) 0xFF 的作用
- C语言 数字和字符串的转换 error
- es6 --- 解构赋值的简洁性
- ArcGIS Server安装的几个问题
- c 形参 可变 入门
- 信息学奥赛一本通C++语言——1019: 浮点数向零舍入
- latex中erro:extra alignment tab has changed to\cr但列数没错的解决方法
- jq+layui之保存修改的表状态
- 在小树林飞也能又快又稳,这是港科大沈劭劼组的「猛禽」无人机重规划框架...
- flink 自定义 窗口_Flink源码分析: 窗口机制的执行流程
- python做app接口测试_一种APP接口自动化测试方法与流程
- java CRC32
- Linux的DNS深度学习(DNS服务器搭建)
- 榜单!DMS/OMS高增速,舱内感知交互摄像头供应商TOP10
- 项目管理—领导力与管理的区别
- GHOST XP SP2 遐想网络 纯净版
- mysql中dml全称是什么_dml是什么?