MC0204 世界警察

世界警察小码哥来谈判了,恐怖分子在银行挟持了 n 个人质,每个人质都所属一个国家,第 i 个人质所属的国家为 ci​,人质排成了一排,位置都是固定的。经过商讨,恐怖分子允许小码哥可以带走任意一段连续区间内的人质。但是上级要求小码哥,最好每个国家的人质都带回来一个,不希望人质中有重复的国家。请问小码哥最多可以带出来多少人质。

格式

输入格式:

第一行一个正整数 n,表示共有 n 个人质;
第二行共有 n 个正整数,第 i 个正整数表示第 i 个人质的所属国家 ci​。

输出格式:

一个整数表示小码哥最多可以带出来的人质数。

样例 1

输入:

5
1 1 2 3 4

输出:

4
备注

其中:1≤n≤10^6;0≤ci​≤10^9。

思路:双指针

代码1:(不严谨代码,这里的数据ci并没有取到10^9)

#include <bits/stdc++.h>
using namespace std;
const int N = 1000005;
int n;
int c[N];
int st[N];
int main()
{cin >> n;for (int i = 0; i < n; i++){cin >> c[i];}int res = 0;for (int i = 0, j = 0; i < n; i++){st[c[i]]++;while (j <= i && st[c[i]] > 1){st[c[j]]--;j++;}res = max(res, i - j + 1);}cout << res;return 0;
}

(ps:这题数据好弱)

代码2:用map存ci和对应的次数

#include <bits/stdc++.h>
using namespace std;
const int N = 1000005;
int n;
int c[N];
map<int, int> mp;
int main()
{cin >> n;for (int i = 0; i < n; i++){cin >> c[i];}int res = 0;for (int i = 0, j = 0; i < n; i++){mp[c[i]]++;while (j <= i && mp[c[i]] > 1){mp[c[j]]--;j++;}res = max(res, i - j + 1);}cout << res;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python进行医学数据分析中缺失值的处理方法案例

在医学数据分析中&#xff0c;处理缺失值是一个常见的挑战。缺失值可能是由于各种原因造成的&#xff0c;如数据收集过程中的错误、遗漏或设备故障等。处理缺失值的方法有很多&#xff0c;包括删除含有缺失值的行、填充缺失值、使用插值方法等。以下是一个使用Python进行医学数…

mybatis中$和#的区别以及各自的使用场景

目录 一、# 符号和$ 符号区别&#xff1a; # 符号&#xff1a; $ 符号&#xff1a; 二、使用场景&#xff1a; # 符号 $ 符号&#xff1a; 三、XML代码示例 四、总结&#xff1a; 五、扩展&#xff1a;sql注入介绍及危害 在 MyBatis 中&#xff0c;$ 和 # 都是用于参数…

关于大根堆,set重载运算符

题目描述 \,\,\,\,\,\,\,\,\,\,制定合理的日程能够帮助利用好时间进行加训&#xff0c;加训和加训。 \,\,\,\,\,\,\,\,\,\,新学期开始了&#xff0c;应该好好学习了&#xff01;凌晨两点整&#xff0c;加睡失败的你在为新一天的各项重要事件制定闹钟。 \,\,\,\,\,\,\,\,\,\, \,…

【SpringBoot】请求与响应参数 IoC与DI 总结

文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…

C语言如何初始化字符数组?

一、问题 字符数组如何初始化&#xff0c;与数值型数组有什么不同&#xff1f; 二、解答 字符数组的初始化操作有以下⼏种⽅法&#xff1a; &#xff08;1&#xff09;逐个字符赋给数组中各元素 这是最容易理解的初始化字符数组的⽅式。例如&#xff0c;初始化⼀个字符数组。…

docker镜像管理基础-3

文章目录 镜像的概念docker镜像层docker存储驱动AUFSOverlayFSDeviceMapper docker registrydocker镜像的制作Docker Hubdocker镜像的获取镜像的生成基于容器制作镜像 镜像的导入与导出 镜像的概念 镜像可以理解为应用程序的集装箱&#xff0c;而docker用来装卸集装箱。 docke…

代码+视频,R语言使用BOOT重抽样获取cox回归方程C-index(C指数)可信区间

bootstrap自采样目前广泛应用与统计学中&#xff0c;其原理很简单就是通过自身原始数据抽取一定量的样本&#xff08;也就是取子集&#xff09;&#xff0c;通过对抽取的样本进行统计学分析&#xff0c;然后继续重新抽取样本进行分析&#xff0c;不断的重复这一过程N&#xff0…

简单实现接口自动化测试(基于python)

一、简介 本文从一个简单的登录接口测试入手&#xff0c;一步步调整优化接口调用姿势&#xff0c;然后简单讨论了一下接口测试框架的要点&#xff0c;最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 二、引言 …

text-generation-webui大模型部署

1 简介 text-generation-webui是一个挺好用的大模型部署UI&#xff0c;提供了很多便于交互的接口&#xff0c;安装部署好之后将model放置到对应的位置即可在网页访问&#xff0c;若是在服务器部署也可以通过ssh端口转发至公网服务器进行访问。 其中&#xff0c;模型的下载可参…

Android的三种动画详解(帧动画,View动画,属性动画)

Android的三种动画详解&#xff08;帧动画、View动画、属性动画&#xff09;_android动画效果大全-CSDN博客 1、帧动画 缺点是&#xff1a;占用内存较高&#xff0c;播放的是一帧一帧的图片&#xff0c;很少使用。 顺序播放预先定义的图片&#xff0c;类似于播放视频。 步骤…

代码随想录阅读笔记-字符串【替换数字】

题目 给定一个字符串 s&#xff0c;它包含小写字母和数字字符&#xff0c;请编写一个函数&#xff0c;将字符串中的字母字符保持不变&#xff0c;而将每个数字字符替换为number。 例如&#xff0c;对于输入字符串 "a1b2c3"&#xff0c;函数应该将其转换为 "anu…

PlayBook 详解

4&#xff09;Playbook 4.1&#xff09;Playbook 介绍 PlayBook 与 ad-hoc 相比&#xff0c;是一种完全不同的运用 Ansible 的方式&#xff0c;类似与 Saltstack 的 state 状态文件。ad-hoc 无法持久使用&#xff0c;PlayBook 可以持久使用。 PlayBook 剧本是 由一个或多个 “…

使用Docker搭建Nascab

使用Docker来部署Nascab能够让这个过程变得更加灵活和便捷&#xff0c;因为Docker可以在隔离的环境中运行应用程序&#xff0c;简化了部署和配置的复杂性。 使用Docker CLI部署Nascab docker run -d \ --name nascab \ -p 18080:80 \ -p 18443:443 \ -p 18090:90 \ -p 18021:…

Linux之shell变量

华子目录 什么是变量&#xff1f;变量的名称示例 变量的类型变量的定义示例 自定义变量查看变量&#xff08;自定义变量和全局变量&#xff09; 环境变量定义环境变量&#xff08;全局变量&#xff09;法一法二法三env&#xff0c;printenv&#xff0c;export注意 C语言与shell…

upload-labs 0.1 靶机详解

下载地址https://github.com/c0ny1/upload-labs/releases Pass-01 他让我们上传一张图片&#xff0c;我们先尝试上传一个php文件 发现他只允许上传图片格式的文件&#xff0c;我们来看看源码 我们可以看到它使用js来限制我们可以上传的内容 但是我们的浏览器是可以关闭js功能的…

蓝桥杯-粘木棍-DFS

题目 思路 --有n根木棍&#xff0c;需要将其粘成m根木棍&#xff0c;并求出最小差值&#xff0c;可以用DFS枚举出所有情况。粘之前有n根短木棍&#xff0c;粘之后有m根长木棍&#xff0c;那么让长木棍的初始长度设为0。外循环让所有的短木棍都参与粘&#xff0c;内循环让要粘的…

windows 11访问Debian10上的共享目录

步骤 要在Windows 11上访问Debian 10.0.0的共享目录&#xff0c;可以通过以下步骤来实现&#xff1a; 1. 设置Samba服务&#xff1a;在Debian系统上&#xff0c;需要安装并配置Samba服务&#xff0c;以便能够实现文件夹共享。Samba是一个允许Linux/Unix服务器与Windows操作系…

threejs 实现鼠标大面积选取场景内3d模型,SelectionBox API 案例使用

SelectionBox API 案例使用 这个函数创建了一个 3D 场景&#xff0c;包括一个相机、光源、多个立方体以及一个 WebGL 渲染器&#xff0c;并在页面上渲染这个场景 function init() {// 创建一个容器 div 元素并将其添加到页面的 body 中container document.createElement(div)…

php反序列化及其常见魔术方法及其触发条件

反序列化介绍&#xff1a; PHP对象反序列化操作是指将一个之前通过serialize()函数转换为字符串表示的PHP对象数据&#xff0c;还原成原始PHP对象结构的过程。当需要从存储&#xff08;如数据库、文件或网络传输&#xff09;中恢复对象状态时&#xff0c;会使用unserialize()函…

【爬虫】User-Agent反爬虫

指服务器端通过校验usr-agent 来区分正常用户和爬虫程序的手段&#xff0c;是较为初级的爬虫。 一般是在做请求的 header 中。 user-agent 记录了请求的设备信息&#xff0c;如果在请求的时候没带 user-agent 可以视为爬虫故意请求&#xff0c;对这样的请求服务器可以拦截。 使…