题目描述

小杨的班级里共有 N N N 名同学,学号从 0 0 0 N − 1 N-1 N1。某节课上,老师要求同学们进行列队。具体来说,老师会依次点名 M M M 名同学,让他们加入队伍。每名新入队的同学需要先站到队伍末尾(刚开始队伍里一个人都没有,所以第一个入队的同学只需要站好即可),随后,整个队伍中的所有同学需要按身高从低到高重新排序(身高相同的同学之间的顺序任意)。

排队很容易,但重新排序难倒了同学们。稍加讨论后,他们发现可以通过交换位置的方法来实现排序。具体来说,他们可以让队伍中的两名同学交换位置这样整个队伍的顺序就会发生变化,多经过这样的几次交换后,队伍的顺序就可以排好。

例如:队伍中有 4 4 4 名同学,学号依次为 10 , 17 , 3 , 25 10,17,3,25 10,17,3,25,我们可以令 3 3 3 号同学和 10 10 10 号同学交换位置,则交换后的队伍顺序变为 3 , 17 , 10 , 25 3,17,10,25 3,17,10,25,这就是一次交换位置。

聪明的小杨想要知道:在老师每次点名一位新同学加入队伍后,在原有队伍的基础上,同学们最少要进行几次交换位置,才能完成老师按身高排序的要求。

输入格式

第一行一个整数 N N N,表示同学的数量
第二行 N N N 个用空格隔开的正整数,依次表示学号为 0 , 1 , 0,1, 0,1, , N − 1 ,N-1 ,N1 的同学的身高(不超过 2 , 147 , 483 , 647 2,147,483,647 2,147,483,647)。
第三行一个整数 M M M,表示老师点名的数量。
接下来 M M M 行,依次描述 M M M 次点名:每行一个整数 x x x 0 ≤ x < N 0 \le x<N 0x<N),表示要求学号为 x x x 的同学加入队伍。保证该名同学此前不在队伍中。

输出格式

输出 M M M 行,依次表示对于每次点名,同学们最少要进行几次交换位置,才能完成按身高排序的要求。

输入输出样例 #1

输入 #1

5
170 165 168 160 175
4
0
3
2
1

输出 #1

0
1
1
2

输入输出样例 #2

输入 #2

4
20 20 20 10
4
0
1
2
3

输出 #2

0
0
0
1

说明/提示

对于所有的测试点,保证 1 ≤ M ≤ N ≤ 2000 1 \le M \le N \le 2000 1MN2000。对于 50 % 50\% 50% 的测试点,保证所有同学的身高互不相同。

solution

其实是一种插入排序,但是要忽略重复的元素

代码

#include <iostream>
#include "bit"
#include "vector"
#include "unordered_set"
#include "set"using namespace std;int a[2000], n, m, x;int main() {set<int> s;cin >> n;for (int i = 0; i < n; i++) cin >> a[i];cin >> m;for (int i = 0; i < m; i++) {cin >> x;int c = 0;for (int p : s) {if (p <= a[x]) {c++;}else{break;}}cout << s.size() - c << endl;s.insert(a[x]);}return 0;
}

结果

在这里插入图片描述

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

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

相关文章

Java编程之外观模式

前言 想象你要去一家很复杂的餐厅吃饭&#xff0c;但不想自己点菜、排队、找位置&#xff0c;也不想管厨房、洗碗、送餐这些后端流程。你只需要告诉餐厅服务员“我要一份牛排套餐”&#xff0c;然后坐等就好。这个服务员&#xff0c;就是外观模式&#xff08;Facade Pattern&a…

告别 Java 开发困境!飞算 JavaAI 开发助手开启智能编程新时代

在 Java 开发的世界里&#xff0c;需求不明确、加班写重复代码、被 BUG 搞得焦头烂额&#xff0c;是许多开发者难以摆脱的 “三座大山”。需求文档模糊不清&#xff0c;让开发者在项目起始阶段就陷入迷茫&#xff1b;大量重复性的代码编写工作&#xff0c;不仅消耗时间和精力&a…

Node.js 中两种模块导出方式区别

两种模块到处方式 exports.xxx ... module.exports ... 1. exports.xxx ... exports 是 module.exports 的一个引用&#xff08;快捷方式&#xff09;。 当你写 exports.foo function() {}&#xff0c;实际上就是给 module.exports 对象添加了一个 foo 属性。 这种方式…

电脑出问题了,无网络环境下一键快速重装系统

在电脑使用过程中&#xff0c;系统故障、卡顿、崩溃等问题屡见不鲜。面对这些情况&#xff0c;重装系统往往是解决问题的最有效手段之一。然而对于刚接触计算机操作的新用户来说&#xff0c;如何安全、稳定地完成系统重装&#xff0c;仍是一个颇具挑战的任务。 这一款专为新手…

基于区块链的去中心化身份验证系统:原理、实现与应用

前言 在数字化时代&#xff0c;身份验证是网络安全和隐私保护的核心环节。传统的身份验证系统依赖于中心化的机构&#xff0c;如政府、银行或互联网服务提供商&#xff0c;这些机构存储和管理用户的个人信息。然而&#xff0c;中心化系统存在诸多问题&#xff0c;如数据泄露风险…

React forwardRef 与 useImperativeHandle 深度解析

在React开发中&#xff0c;组件间的通信是一个核心话题。虽然props和state能够处理大部分场景&#xff0c;但有时我们需要更直接的方式来操作子组件。今天我们来深入探讨两个强大的React Hook&#xff1a;forwardRef和useImperativeHandle。 forwardRef&#xff1a;传递引用的…

KingbaseES在线体验平台深度测评:基于MCP接口管理的Oracle风格SQL实战

文章目录 一、平台环境与准备二、引导体验1.检查数据库版本及服务状态 三、建库与建表1. 建库&#xff08;KingbaseES中通常无需显式建库&#xff0c;此处以创建schema模拟&#xff09;2. 建表 四、查库与数据操作测试1. 查库&#xff08;确认表结构&#xff09;2. 新增数据3. …

echarts开发 | 数据可视化 -- 第三篇 echart进阶配置项 数据集

文章目录 一、概念二、回顾在系列(series)中设置数据三、在数据集中设置数据3.1 数据集(dataset) 基础3.2 二维数组数据(默认) 四、把数据集(dataset) 的行或列 映射为 序列 (series)五、维度(dimension)六、数据到图形的映射 &#xff08;series.encode&#xff09; 一、概念 …

如何科学测算AI业务场景所需算力服务器?——以Qwen3 32B模型与海光K100为例

在人工智能&#xff08;AI&#xff09;技术飞速发展的今天&#xff0c;越来越多企业开始部署大模型应用&#xff0c;如智能问答、文本生成、知识图谱构建等。但如何合理配置硬件资源&#xff0c;既满足业务需求又避免资源浪费&#xff0c;是每个项目实施前必须解决的问题。 本…

渗透实战:利用XSS获取cookie和密码

操作均来自靶场&#xff0c;切勿用于未授权渗透测试&#xff01; Lab 21&#xff1a;将反射型 XSS 注入带有尖括号、单引号、双引号、反斜杠和反引号的 Unicode 转义模板文字中 输入的任何单引号双引号尖括号都会被 unicode 编码 直接换另一种代码执行方式${alert(1)}&#…

Eureka、Nacos、Zookeeper 优雅上下线机制

✅ 三大注册中心优雅上下线机制对比 维度EurekaNacosZookeeper注册方式客户端注册 心跳维持客户端注册 心跳维持客户端创建临时节点服务可用状态控制STARTING、UP、DOWN、OUT_OF_SERVICEUP、DOWN、STARTING 等无显式状态标识&#xff0c;靠节点存在与否判定上线控制方式通过…

Flink与Kubernetes集成

引言 在当今大数据与云计算蓬勃发展的时代&#xff0c;容器编排与流处理技术成为企业数据处理架构的关键支柱。Kubernetes作为容器编排系统的行业标准&#xff0c;能够高效自动化地部署、扩展和管理计算机应用程序&#xff1b;Apache Flink则是流处理和批处理领域的佼佼者&…

第五节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 角色管理模块(上)

Vben5 系列文章目录 💻 基础篇 ✅ 第一节:Vben Admin 最新 v5.0 (vben5) 快速入门 ✅ 第二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - Python Flask 后端开发详解(附源码) ✅ 第三节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 对接后端登录接口(上) ✅ 第四节:Vben Ad…

实施企业预算管理的企微CRM系统技巧:从成本控制到价值创造

一、企微CRM管理系统为何成为预算管理新引擎? 官方数据显示&#xff0c;接入企微CRM系统的企业平均降低客户管理成本28%&#xff0c;预算执行效率提升40%。这源于企微CRM管理软件的三大独特优势&#xff1a; 原生集成能力&#xff1a;与企业微信通讯录、会话存档无缝对接&…

WebFuture:手机版页面部分区域报错:未将对象引用设置到对象的实例

问题描述&#xff1a; 手机版页面部分区域报错&#xff1a;未将对象引用设置到对象的实例&#xff0c;PC板访问正常。 问题分析&#xff1a; 对比PC和手机页面模板&#xff0c;调用代码有以下差异&#xff0c;手机版模板没兼容null值&#xff0c;简介为空导致报错。 解决方法…

【Cursor点击登录后一直转圈,无反应】

Cursor点击登录后一直转圈&#xff0c;无反应 一、问题描述二、解决方案 一、问题描述 1、进入Cursor官网&#xff08;国际版&#xff09;&#xff1a; Cursor国际版地址 2、填入账号密码&#xff0c;点击登录 3、一直转圈&#xff0c;无法登录 二、解决方案 使用梯子&…

【无标题】世界模型

为什么大语言模型&#xff0c;没有真正推动经济大幅增长&#xff0c;但世界模型有可能 5月份谷歌IO大会&#xff0c;DeepMind老板&#xff08;谷歌AI业务负责人&#xff0c;2024Nobel化学奖得主&#xff0c;黛密斯哈萨比斯&#xff09;提到&#xff0c;谷歌接下来目标是做世界…

Doc2X:⾼精度、⾼性价⽐⽂档解析 API,助力Arxiv论文智能解读Agent构建

前言 在AI大模型时代&#xff0c;RAG&#xff08;Retrieval-Augmented Generation&#xff09;检索增强生成技术已经成为构建智能知识库和问答系统的核心架构。然而&#xff0c;在实际项目实施过程中&#xff0c;开发者们往往会遇到一个关键痛点&#xff1a;如何高质量地将各种…

uniapp 对接deepseek

废话不多说直接上代码 // 小程序专用流式服务 export const streamChatMiniProgram (messages, options {secret: "" }) > {return new Promise((resolve, reject) > {// 构建请求数据 const requestData {model: deepseek-chat,messages,stream: true,ma…

Softhub软件下载站实战开发(四):代码生成器设计与实现

文章目录 Softhub软件下载站实战开发&#xff08;四&#xff09;&#xff1a;代码生成器设计与实现1.前言 &#x1f4dc;2.技术选型3.架构概览 &#x1f3d7;️3.1 架构概览3.2 工作流程详解 4.核心功能实现 ⏳4.1 配置管理系统4.2 数据库表结构解析4.3 模板渲染引擎4.4 智能类…