当前位置: 首页 > news >正文

汉狮做网站公司郑州苏州建设网站的网络公司

汉狮做网站公司郑州,苏州建设网站的网络公司,大庆建设中等职业技术学校网站,带导航栏的网站题目描述 小杨的班级里共有 N N N 名同学,学号从 0 0 0 至 N − 1 N-1 N−1。某节课上,老师要求同学们进行列队。具体来说,老师会依次点名 M M M 名同学,让他们加入队伍。每名新入队的同学需要先站到队伍末尾(刚开…

题目描述

小杨的班级里共有 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.dtcms.com/a/596446.html

相关文章:

  • 【C#-sqlSugar-sqlite】在Windows从源码编译构建System.Data.SQLite.dll的方法
  • 【WPF】WrapPanel的用法
  • wpf 控件中Margin属性如何设置绑定?
  • 【管综】考研199管理类联考真题试卷及答案解析PDF电子版(2009-2025年)
  • UDP/TCP接收/转发/广播服务端
  • WPF 获取鼠标相对于控件的坐标信息,控制控件锚点放缩
  • 面试题—linux
  • 福田皇岗社区做网站网页制作怎么收费
  • 236. Java 集合 - 使用索引访问 List 元素
  • 天河网站建设哪家强华为企业邮箱
  • 基于Java的电影管理系统的设计与实现
  • C#初级面试题5、拆箱和装箱
  • 如何判断企业是否需要 IAM ?数字化转型中的权限治理自测
  • CSP-J教程——第一阶段——第六课:程序流程控制 - 循环结构(一)for循环
  • 【C++基础与提高】第二章:C++数据类型系统——构建程序的基础砖石
  • 【每天一个知识点】CAG:Context-Augmented Generation
  • 《Linux系统编程之系统导论》【冯诺依曼体系结构 + 操作系统基本概述】
  • 第23天python内容
  • 5.2、Python-字符串的编码和解码
  • 美容院网站源码网站流量下降的原因
  • FreeRTOS 学习:(十七)“外部中断”和“内核中断”的差异,引入 FreeRTOS 中断管理
  • CodeBuddy AI IDE :Skills 模式
  • 大模型学习计划(按周规划)
  • 绥中网站建设分类信息网网站500
  • k8s 部署MySQL 数据持久化
  • Quantinuum 发布新型量子计算机“Helios“
  • ubuntu/kali安装k8s
  • 开源 Objective-C IOS 应用开发(二)Xcode安装
  • 【论文阅读】Gradient Guidance for Diffusion Models:An Optimization Perspective
  • WebSocket调试工具(html),用于调试WebSocket链接是否畅通