蓝桥-班级活动

问题描述

小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 n 以内的正整数作为 id,第 i 名同学的 id 为 ai​。

老师希望通过更改若干名同学的 idid 使得对于任意一名同学 i,有且仅有另一名同学 j的 id 与其相同 (ai=aj​)。请问老师最少需要更改多少名同学的 id?

输入格式

输入共 2 行。

第一行为一个正整数 n。

第二行为 n 个由空格隔开的整数 a1,a2,...,an。

输出格式

输出共 1 行,一个整数。

样例输入

4
1 2 2 3

样例输出

1

样例说明

仅需要把 a1​ 改为 3 或者把 a3​ 改为 1 即可。

思路: 

利用 map来判断,如果id出现次数不为2,就需要修改,统计出现次数为1次(t1)和大于2次(t2)的,如果t1>=t2,每个t2都可以和一个t1对应改变,否则的话多余的t2都需要改变。

代码:

#include <bits/stdc++.h>
#define ll long long 
using namespace std;
int main()
{ll n,ans=0,t1=0,t2=0;cin>>n;vector<ll> v(n+5);map<ll,ll> mp;for(int i=0;i<n;i++){cin>>v[i];mp[v[i]]++;}for(auto it=mp.begin();it!=mp.end();it++){if(it->second!=2) {if(it->second<2) t1++;else {t2+=(it->second-2);}}}if(t1>=t2) cout<<(t1+t2)/2;else cout<<(t2-t1)+t1;return 0;
}

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

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

相关文章

MongoDB 的索引是提高查询性能的核心机制,类似于传统关系型数据库的索引。以下是对 MongoDB 索引的详细说明:

MongoDB 的索引是提高查询性能的核心机制&#xff0c;类似于传统关系型数据库的索引。以下是对 MongoDB 索引的详细说明&#xff1a; 一、索引基础 1. 索引的作用 加速查询&#xff1a;通过索引快速定位数据&#xff0c;避免全集合扫描&#xff08;COLLSCAN&#xff09;。 排…

深入理解指针(1)(C语言版)

文章目录 前言一、内存和地址1.1 内存1.2 究竟该如何理解编址 二、指针变量和地址2.1 取地址操作符&2.2 指针变量和解引用操作符*2.2.1 指针变量2.2.2 如何拆解指针类型2.2.3 解引用操作符 2.3 指针变量的大小 三、指针变量类型的意义3.1 指针的解引用3.2 指针-整数3.3 voi…

【视频】m3u8相关操作

【视频】郭老二博文之:图像视频汇总 1、视频文件转m3u8 1.1 常用命令 1)默认只保留 5 个ts文件 ffmpeg -i input.mp4 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls stream1.m3u82)去掉音频 -an,保留全部ts文件 ffmpeg -i input.mp4 -vf scale=640:480 -an -…

AWS CloudWatch 实战:构建智能监控与自动化运维体系

摘要&#xff1a;本文通过实际案例&#xff0c;详细讲解如何利用AWS CloudWatch实现云端资源的实时监控、日志分析与自动化运维&#xff0c;助力企业提升系统稳定性与运维效率 一、场景痛点分析 某电商平台迁移至AWS后面临三大挑战&#xff1a; 故障响应滞后&#xff1a;服务器…

第一天学爬虫

阅读提示&#xff1a;我今天才开始尝试爬虫&#xff0c;写的不好请见谅。 一、准备工具 requests库&#xff1a;发送HTTP请求并获取网页内容。BeautifulSoup库&#xff1a;解析HTML页面并提取数据。pandas库&#xff1a;保存抓取到的数据到CSV文件中。 二、爬取步骤 发送请求…

网络编程和计算机网络五层模型的关系

计算机网络的五层模型&#xff08;应用层、传输层、网络层、链路层和物理层&#xff09;为网络编程提供了基础框架和通信机制。网络编程就是在这些层次上实现应用程序之间的通信。 计算机网络五层模型 &#xff08;1&#xff09;应用层&#xff1a; 作用&#xff1a;应用层是…

知识篇 | Oracle的 TEMP表空间管理和优化

Oracle临时表空间&#xff08;TEMP&#xff09;是数据库中用于存储会话级临时数据的核心组件&#xff0c;主要用于支持需要中间结果集的操作&#xff08;如排序、哈希连接&#xff09;。其数据在事务结束或会话终止后自动释放&#xff0c;不持久化存储。 核心特点&#xff1a;…

重学Java基础篇—线程池参数优化指南

一、核心参数解析 线程池&#xff08;ThreadPoolExecutor&#xff09;的性能取决于以下关键参数&#xff1a; 参数说明corePoolSize核心线程数&#xff0c;即使空闲也不会被回收maximumPoolSize最大线程数&#xff0c;当队列满且核心线程忙时创建新线程workQueue任务队列&…

记一次线上环境JAR冲突导致程序报错org.springframework.web.util.NestedServletException

一、问题描述 有个文件导入功能&#xff0c;用到了Hutool 的加密解密功能&#xff0c;本地运行完全可以&#xff0c;但是线上报错&#xff1a;“org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFou…

怎么快速部署Sock5代理到ubuntu云服务器

使用 Dante (推荐) 1. 安装 Dante bash Copy sudo apt update sudo apt install dante-server -y 2. 配置 Dante 编辑配置文件 /etc/danted.conf&#xff1a; bash Copy sudo nano /etc/danted.conf 替换为以下内容&#xff08;按需修改端口和认证&#xff09;&#…

华为OD机试2025A卷 - 游戏分组/王者荣耀(Java Python JS C++ C )

最新华为OD机试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 题目描述 2020年题: 英雄联盟是一款十分火热的对战类游戏。每一场对战有10位玩家参与,分为两组,每组5人。每位玩家都有一个战斗力,代表着这位玩家的厉害程度。为了对战尽可能精彩,我们需要…

OpenRAND可重复的随机数生成库

OpenRAND 是一个 C++ 库,旨在通过提供强大且可复制的随机数生成解决方案来促进可重复的科学研究。它是一个简单的仅头文件库,性能可移植,统计稳健,并且易于集成到任何 HPC 计算项目中。 特征 跨平台支持:OpenRAND 旨在跨各种平台无缝工作,包括 CPU 和 GPU。其仅标题库设计…

接口/UI自动化面试题

一、UI自动化 1.1、接口和UI自动化有多少用例&#xff1f; 回答策略&#xff1a;根据接口设定用例&#xff0c;100个接口&#xff0c;自动化case在1500-2000左右。结合自身的项目&#xff0c;回答覆盖的主功能流程。 示例&#xff1a; 接口自动化的测试case一般需要根据接口数…

使用Docker部署RabbitMQ

第一步&#xff1a;安装 RabbitMQ # 1. 拉取镜像 docker pull rabbitmq:3.12.0-management# 2. 启动容器&#xff08;开放端口 数据持久化&#xff09; docker run -d \--nameshare_rabbitmq \-p 5672:5672 \ # AMQP 协议端口-p 15672:15672 \ # 管理界面端口…

2.基于多线程的TCP服务器实现

目录 1. 简单分析之前的代码 2. 多线程服务器设计 2.1 C11线程的基本使用 2.2 服务器主体逻辑 3. 错误处理的封装 4. 完整的代码实现 客户端代码&#xff08;client.cpp&#xff09; 服务器代码&#xff08;server.cpp&#xff09; 5. 运行方式 在我们预想中&#xff…

Python Web 框架 Django、Flask 和 FastAPI 对比

在探索 Python Web 框架时&#xff0c;Django、Flask 和 FastAPI 无疑是最常被提及的名字。根据我们最新的 Python 开发者调查&#xff0c;这三大框架继续稳坐后端 Web 开发的热门宝座。它们均为开源项目&#xff0c;并且与 Python 的最新版本无缝兼容。然而&#xff0c;面对不…

SQL Server数据库表删除分区

在 SQL Server 中删除分区并将表恢复到非分区状态&#xff0c;需按以下步骤操作&#xff1a; 一、合并所有分区 1. 检查现有分区结构 首先确认表的分区方案和分区函数&#xff1a; -- 查看分区方案 SELECT * FROM sys.partition_schemes;-- 查看分区函数 SELECT * FROM sys…

信息安全和病毒防护——安全协议关于SSL和TLS协议的补充说明

文章目录 SSL与TLS的关系SSL与TLS的核心区别SSL/TLS的典型应用安全建议总结SSL与TLS的关系 SSL(Secure Sockets Layer,安全套接层)和TLS(Transport Layer Security,传输层安全)是同一技术体系的演进版本,而非完全独立的协议。其发展历程如下: SSL 1.0(1994):未公开…

[原创](Modern C++)现代C++的关键性概念: 多维数组的下标引用.

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、C …

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.2.3实战案例:在笔记本电脑上运行轻量级LLM

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 实战案例:在笔记本电脑上运行轻量级LLM2.2.3 模型架构设计与实现1. 环境与工具准备1.1 硬件要求1.2 软件栈选择2. 轻量级模型架构设计2.1 模型参数配置2.2 关键技术优化3. 实战流程3.1 数据准备流程3.2…