蓝桥杯 班级活动

问题描述

小明的老师准备组织一次班级活动。班上一共有 n 名同学(n 为偶数),老师想把所有同学进行分组,每两名同学一组。

为了公平,老师给每名同学随机分配了一个 n 以内的正整数作为 id,第 i 名同学的 ida_i

老师希望通过更改若干名同学的 id,使得对于任意一名同学 i,有且仅有另一名同学 jid 与其相同(即 a_i = a_j)。

请问老师最少需要更改多少名同学的 id


输入格式

共 2 行:

  • 第 1 行:一个正整数 n(偶数)。
  • 第 2 行:n 个由空格隔开的整数 a_1, a_2, ..., a_n

输出格式

  • 输出 1 行,一个整数,表示最少需要更改多少名同学的 id

样例输入

4
1 2 2 3

样例输出

1

样例说明

只需要将 a_1 改为 3,或者将 a_3 改为 1,即可满足每个 id 出现恰好两次。


评测用例规模与约定

  • 对于 20% 的数据,保证 n ≤ 10^3
  • 对于 100% 的数据,保证 n ≤ 10^5
#include<bits/stdc++.h>
#include<stdio.h>using namespace std;int n, a = 0, b = 0, r, ans = 0;
vector<int> arr;int main() {scanf("%d", &n);arr = vector<int>(n);for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}sort(arr.begin(), arr.end());for (int i = 0; i < n;) {r = i;while(r < n && arr[r] == arr[i]) r++;if (r - i > 2) a += (r - i - 2);else if (r - i == 1) b++;i = r;}if (a >= b) {ans += b;a -= b;ans += a;}else {ans += a;b -= a;ans += b / 2;}cout << ans;return 0;
}

思路解析

我的理解是贪心算法

对于多出来的,也就是出现次数大于2的,一定要修改一次,如果不修改,则会和前面两个一对矛盾,因为只能有两个一样。

对于少的,不够的,可以修改可以不修改,可以让多出来的和它一组,也可以让其他少的和它一组。

贪心策略就是尽量让多的和少的一组,如果还剩下多的,这些多的全部再修改一次变成其他数,如果剩下少的,只要修改n / 2次,因为他们本来就不重复

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

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

相关文章

外包干了一个月,技术明显进步。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入南京某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

出海企业数字化为什么需要双层架构ERP?工博深度解析SAP ERP公有云方案

目录 什么是双层架构ERP&#xff1f; SAP双层架构ERP四大核心优势 标准化与集成 敏捷性与创新 成本与风险控制 合规与自主性 企业海外业务扩张时&#xff0c;可能由于文化差异、经验差异、合规要求和不断变化的地理政治环境等因素&#xff0c;使总部系统的在海外的推广充…

LVS的 NAT 模式实验

文章目录 目录 文章目录 概要 IP规划与题目分析 实验步骤 一、nginx配置&#xff08;rs1、rs2、rs3&#xff09; 二、LVS配置 三、客户端配置 四、防火墙和selinux配置 实验结果 痛点解答 概要 LVS/NAT lvs/nat网络地址转换模式&#xff0c;进站/出站的数据流量经过分发器(IP负…

MySQL Binlog

MySQL Binlog MySQL Binlog 介绍查看 Binlog 位点开启和关闭 BinlogBinlog 的作用Binlog 记录的格式Binlog 的解析Binlog 加密Binlog 的清理根据Binlog文件名删除根据时间删除 Binlog 保留参数Binlog 的落盘Binlog 相关参数 MySQL主从复制&#xff1a;https://blog.csdn.net/a…

第十四届蓝桥杯省赛电子类单片机学习记录(客观题)

01.一个8位的DAC转换器&#xff0c;供电电压为3.3V&#xff0c;参考电压2.4V&#xff0c;其ILSB产生的输出电压增量是&#xff08;D&#xff09;V。 A. 0.0129 B. 0.0047 C. 0.0064 D. 0.0094 解析&#xff1a; ILSB&#xff08;最低有效位&#xff09;的电压增量计算公式…

【随手记】支持多模态输入的 AI Chatbot App

一、Streamlit 1、Streamlit开发文档 官方文档&#xff1a;https://docs.streamlit.io/ 中文文档&#xff1a;https://blog.csdn.net/weixin_44458771/article/details/135495928 2、Streamlit命令行启动 pip install streamlit streamlit run app.py --server.port 85013…

为什么大模型在 OCR 任务上表现不佳?

编者按&#xff1a; 你是否曾经用最先进的大语言模型处理企业文档&#xff0c;却发现它把财务报表中的“$1,234.56”读成了“123456”&#xff1f;或者在处理医疗记录时&#xff0c;将“0.5mg”误读为“5mg”&#xff1f;对于依赖数据准确性的运营和采购团队来说&#xff0c;这…

关于ArcGIS中加载影像数据,符号系统中渲染参数的解析

今天遇到一个很有意思的问题&#xff0c;故记录下来&#xff0c;以作参考和后续的研究。欢迎随时沟通交流。如果表达错误或误导&#xff0c;请各位指正。 正文 当我们拿到一幅成果影像数据的时候&#xff0c;在不同的GIS软件中会有不同效果呈现&#xff0c;但这其实是影像是…

智能舵机:AI融合下的自动化新纪元

在自动化的浪潮中&#xff0c;智能舵机以其独特的魅力和卓越的性能&#xff0c;正引领着自动化产业迈向新的高度。今天&#xff0c;让我们一起走进智能舵机的世界&#xff0c;感受AI技术为其带来的无限可能。 一、智能舵机&#xff1a;自适应控制的先锋 智能舵机&#xff0c;…

计算机二级WPS Office第四套电子表格

解题过程 排名的函数有三个&#xff1a;rank函数、rank.avg函数、rank.eq函数

【数学建模】(启发式算法)蚁群算法(Ant Colony Optimization)的详解与应用

蚁群算法(Ant Colony Optimization)详解与应用 文章目录 蚁群算法(Ant Colony Optimization)详解与应用前言1. 蚁群算法的生物学基础2. 蚁群算法的基本原理2.1 算法框架2.2 状态转移规则2.3 信息素更新规则 3. 蚁群算法的实现4. 蚁群算法的改进4.1 MAX-MIN蚁群系统(MMAS)4.2 精…

基于Springboot的网上订餐系统 【源码】+【PPT】+【开题报告】+【论文】

网上订餐系统是一个基于Java语言和Spring Boot框架开发的Web应用&#xff0c;旨在为用户和管理员提供一个便捷的订餐平台。该系统通过简化餐饮订购和管理流程&#xff0c;为用户提供快速、高效的在线订餐体验&#xff0c;同时也为管理员提供完善的后台管理功能&#xff0c;帮助…

使用idea开发spark程序

新建scala 项目 创建lib目录 将spark jars/ 路径下所有jar 复制到 lib目录 添加依赖 创建scala 程序 package sparkimport org.apache.spark.{SparkConf, SparkContext}object WordCount {def main(args: Array[String]): Unit {val conf new SparkConf().setAppName(&q…

CORDIC算法:三角函数的硬件加速革命——从数学原理到FPGA实现的超高效计算方案

计算机该如何求解三角函数&#xff1f;或许你的第一印象是采用泰勒展开&#xff0c;或者采用多项式进行逼近。对于前者&#xff0c;来回的迭代计算开销成本很大&#xff1b;对于后者&#xff0c;多项式式逼近在较窄的范围內比较接近&#xff0c;超过一定范围后&#xff0c;就变…

无需docker三步安装deepseek可视化操作软件-Open-WebUI

在以前安装Open-WebUI时&#xff0c;需要通过docker安装, 针对小白来讲呢有些麻烦, 因此这里推荐使用python环境安装Open-WebUI,简单快捷上手快! 1. Mac安装python3.11 以上的环境, windows同学直接官网下载安装包msi,双击安装即可1.1 Mac直接安装 python3.11brew install pyt…

3DGS较真系列

目录 引言 三维高斯飞溅(3DGS) 总体流程 SFM算法 1.特征提取&#xff1a; 2.特征匹配&#xff1a; 3.图像对优选&#xff1a; 4.相机位姿估计及空间点坐标获取&#xff1a; 5.三角化确立新图像地图点&#xff1a; 6.重建场景及其约束&#xff1a; 3DGS 1.捏雪球 2…

【计网】网络、互连网、互联网的认识和区分

一、些杂乱的知识点&#xff1a; 1.Internet是由数量极大的各种计算机网络连接起来的。 2.世界上最大的计算机网络Internet叫互联网&#xff08;互联网 &#xff01; 互连网&#xff09;。 3.互联网的两个基本特点&#xff1a; &#xff08;1&#xff09;互通性&#xff1a…

手机零售行业的 AI 破局与创新降本实践 | OceanBase DB大咖说

OceanBase《DB 大咖说》第 20 期&#xff0c;我们邀请了九机与九讯云的技术总负责人&#xff0c;李远军&#xff0c;为我们分享手机零售企业如何借力分布式数据库OceanBase&#xff0c;赋能 AI 场景&#xff0c;并通过简化架构实现成本管控上的突破与创新。 李远军于2016年加入…

高并发金融系统,“可观测-可追溯-可回滚“的闭环审计体系

一句话总结 在高并发金融系统中&#xff0c;审计方案设计需平衡"观测粒度"与"系统损耗"&#xff0c;通过双AOP实现非侵入式采集&#xff0c;三表机制保障操作原子性&#xff0c;最终形成"可观测-可追溯-可回滚"的闭环体系。 业务痛点与需求 在…

迅为iTOP-RK3576人工智能开发板Android 系统接口功能测试

2.1 开机启动 开发板接通电源&#xff0c;并按下电源开关&#xff0c;系统即启动&#xff0c;在启动过程中&#xff0c;系统会显示下图中的开机画面&#xff0c;它们分别是 Android 系统启动时的 Logo 画面&#xff1a; 最后会显示如下解锁画面&#xff1a; 2.2 命令终端 将…