藍橋杯 15g

班級活動

問題描述

小明的老師準備組織一次班級活動。班上一共有?nn?名 (nn?為偶數) 同學,老師想把所有的同學進行分組,每兩名同學一組。為了公平,老師給每名同學隨機分配了一個?nn?以內的正整數作為?idid,第?ii?名同學的?idid?為?aiai?。

老師希望通過更改若干名同學的?idid?使得對于任意一名同學?ii,有且僅有另一名同學?jj?的?idid?與其相同 (ai=ajai?=aj?)。請問老師最少需要更改多少名同學的?idid?

輸入格式

輸入共?22?行。

第一行為一個正整數?nn。

第二行為?nn?個由空格隔開的整數?a1,a2,...,ana1?,a2?,...,an?。

輸出格式

輸出共?1?行,一個整數。

注意:

題意很明確就是根據相同的id兩兩一組,但是 每個id 只能找到一個與之相同的! 如果出現三次2,就有一個需要改變編號。

除了剛好出現兩次的數字, 就是出現1次,出現n次的,根據這個思路寫

代碼(60%)

#include <iostream>
#include <algorithm>
using namespace std;const int N = 1e5+10;
#define int long long
int num[N];signed main()
{// 請在此輸入您的代碼int n;cin >> n;int a[N];for(int i = 0; i < n; i ++ ){cin >> a[i];}int ans  = 0;  for(int i = 0; i < n; i ++ ){if(num[a[i]] == -1) {ans ++;}if(num[a[i]] > -1) num[a[i]]++;if(num[a[i]] == 2) {num[a[i]] = -1;}}for(int i = 0; i < n; i ++ ){if(num[a[i]] == 1) ans ++;}cout << ans/2;return 0;
}
出現問題:

上述代碼是將所有出現一次以及出現n次的數量相加再除以二

只考慮了修改次數,但沒有考慮到題目要求最小值!

最小值如何求?

首先肯定是從n個和1個里面想怎么改,n個是一定要全部改的因為只要求出現一個相同id,那么n個如何改?盡量向只有1個靠攏,這樣1個里面的就湊成兩個不用改了。

然后就考慮n個和1個的數量多少問題。

n個>1個:改n

n個 < 1個:(1個的 - n個的)之后,剩下都是1個,沒必要全都改,只用改除/2。

至于(1 - n)則全部都要改。

ac代碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76530.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何使用AI輔助開發R語言

R語言是一種用于統計計算和圖形生成的編程語言和軟件環境&#xff0c;很多學術研究和數據分析的科學家和統計學家更青睞于它。但對與沒有編程基礎的初學者而言&#xff0c;R語言也是有一定使用難度的。不過現在有了通義靈碼輔助編寫R語言代碼&#xff0c;我們完全可以用自然語言…

CISCO組建RIP V2路由網絡

1.實驗準備&#xff1a; 2.具體配置&#xff1a; 2.1根據分配好的IP地址配置靜態IP&#xff1a; 2.1.1PC配置&#xff1a; PC0&#xff1a; PC1&#xff1a; PC2&#xff1a; 2.1.2路由器配置&#xff1a; R0&#xff1a; Router>en Router#conf t Enter configuration…

React + TipTap 富文本編輯器 實現消息列表展示,類似Slack,Deepseek等對話框功能

經過幾天折騰再折騰&#xff0c;弄出來了&#xff0c;弄出來了&#xff01;&#xff01;&#xff01; 消息展示 在位編輯功能。 兩個tiptap實例1個用來展示 消息列表&#xff0c;一個用來在位編輯消息。 tiptap靈活富文本編輯器&#xff0c;拓展性太好了!!! !!! 關鍵點&#x…

Ubuntu搭建Pytorch環境

Ubuntu搭建Pytorch環境 例如&#xff1a;第一章 Python 機器學習入門之pandas的使用 提示&#xff1a;寫完文章后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 Ubuntu搭建Pytorch環境前言一、Anaconda二、Cuda1.安裝流程2、環境變量&#…

Sping Cloud配置和注冊中心

1.Nacos實現原理了解嗎&#xff1f; Nacos是注冊中心&#xff0c;主要是幫助我們管理服務列表。Nacos的實現原理大概可以從下面三個方面來講&#xff1a; 服務注冊與發現&#xff1a;當一個服務實例啟動時&#xff0c;它會向Nacos Server發送注冊請求&#xff0c;將自己的信息…

C++筆記之父類引用是否可以訪問到子類特有的屬性?

C++筆記之父類引用是否可以訪問到子類特有的屬性? code review! 參考筆記 1.C++筆記之在基類和派生類之間進行類型轉換的所有方法 文章目錄 C++筆記之父類引用是否可以訪問到子類特有的屬性?1.主要原因2.示例代碼3.說明4.如何訪問子類特有的屬性5.注意事項6.總結在 C++ 中,…

JavaScript逆向工程:如何判斷對稱加密與非對稱加密

在現代Web應用安全分析中&#xff0c;加密算法的識別是JavaScript逆向工程的關鍵環節。本文將詳細介紹如何在逆向工程中判斷JavaScript代碼使用的是對稱加密還是非對稱加密。 一、加密算法基礎概念 1. 對稱加密 (Symmetric Encryption) 特點&#xff1a;加密和解密使用相同的…

物理備份工具 BRM vs gs_probackup

什么是BRM 上一篇文章講了openGauss的物理備份工具gs_probackup&#xff0c;今天來說說BRM備份工具。 BRM備份恢復工具全稱為&#xff1a;Backup and Recovery Manager&#xff0c;是MogDB基于opengauss的備份工具 gs_probackup 做了一些封裝和優化,面向MogDB數據庫實現備份和…

問問lua怎么寫DeepSeek,,,,,

很坦白說&#xff0c;這十年&#xff0c;我幾乎沒辦法從互聯網找到這個這樣的代碼&#xff0c;互聯網引擎找不到&#xff0c;我也沒有很大的“追求”要傳承&#xff0c;或者要宣傳什么&#xff1b;直到DeepSeek的出現 兄弟&#xff0c;Deepseek現在已經比你更了解你樓下的超市…

react+Tesseract.js實現前端拍照獲取/選擇文件等文字識別OCR

需求背景 在開發過程中可能會存在用戶上傳一張圖片后下方需要自己識別出來文字數字等信息&#xff0c;有的時候會通過后端來識別后返回&#xff0c;但是也會存在純前端去識別的情況&#xff0c;這個時候就需要使用到Tesseract.js這個庫了 附Tesseract.js官方&#xff08;htt…

藍橋杯考前復盤

明天就是考試了&#xff0c;適當的停下刷題的步伐。 靜靜回望、思考、總結一下&#xff0c;我走過的步伐。 考試不是結束&#xff0c;他只是檢測這一段時間學習成果的工具。 該繼續走的路&#xff0c;還是要繼續走的。 只是最近&#xff0c;我偶爾會感到迷惘&#xff0c;看…

前端-Vue3

1. Vue3簡介 2020年9月18日&#xff0c;Vue.js發布版3.0版本&#xff0c;代號&#xff1a;One Piece&#xff08;n 經歷了&#xff1a;4800次提交、40個RFC、600次PR、300貢獻者 官方發版地址&#xff1a;Release v3.0.0 One Piece vuejs/core 截止2023年10月&#xff0c;最…

[ctfshow web入門] web39

信息收集 題目發生了微妙的變化&#xff0c;只過濾flag&#xff0c;include后固定跟上了.php。且沒有了echo $flag;&#xff0c;雖說本來就沒什么用 if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/flag/i", $c)){include($c.".php");} }else{…

【動手學深度學習】LeNet:卷積神經網絡的開山之作

【動手學深度學習】LeNet&#xff1a;卷積神經網絡的開山之作 1&#xff0c;LeNet卷積神經網絡簡介2&#xff0c;Fashion-MNIST圖像分類數據集3&#xff0c;LeNet總體架構4&#xff0c;LeNet代碼實現4.1&#xff0c;定義LeNet模型4.2&#xff0c;定義模型評估函數4.3&#xff0…

代碼隨想錄第15天:(二叉樹)

一、二叉搜索樹的最小絕對差&#xff08;Leetcode 530&#xff09; 思路1 &#xff1a;中序遍歷將二叉樹轉化為有序數組&#xff0c;然后暴力求解。 class Solution:def __init__(self):# 初始化一個空的列表&#xff0c;用于保存樹的節點值self.vec []def traversal(self, r…

計算機操作系統-【死鎖】

文章目錄 一、什么是死鎖&#xff1f;死鎖產生的原因&#xff1f;死鎖產生的必要條件&#xff1f;互斥條件請求并保持不可剝奪環路等待 二、處理死鎖的基本方法死鎖的預防摒棄請求和保持條件摒棄不可剝奪條件摒棄環路等待條件 死鎖的避免銀行家算法案例 提示&#xff1a;以下是…

vue拓撲圖組件

vue拓撲圖組件 介紹技術棧功能特性快速開始安裝依賴開發調試構建部署 使用示例演示截圖組件源碼 介紹 一個基于 Vue3 的拓撲圖組件&#xff0c;具有以下特點&#xff1a; 1.基于 vue-flow 實現&#xff0c;提供流暢的拓撲圖展示體驗 2.支持傳入 JSON 對象自動生成拓撲結構 3.自…

go 通過匯編分析函數傳參與返回值機制

文章目錄 概要一、前置知識二、匯編分析2.1、示例2.2、匯編2.2.1、 寄存器傳值的匯編2.2.2、 棧內存傳值的匯編 三、拓展3.1 了解go中的Duff’s Device3.2 go tool compile3.2 call 0x46dc70 & call 0x46dfda 概要 在上一篇文章中&#xff0c;我們研究了go函數調用時的棧布…

python-1. 找單獨的數

問題描述 在一個班級中&#xff0c;每位同學都拿到了一張卡片&#xff0c;上面有一個整數。有趣的是&#xff0c;除了一個數字之外&#xff0c;所有的數字都恰好出現了兩次。現在需要你幫助班長小C快速找到那個拿了獨特數字卡片的同學手上的數字是什么。 要求&#xff1a; 設…

算法學習C++需注意的基本知識

文章目錄 01_算法中C需注意的基本知識cmath頭文件一些計算符ASCII碼表數據類型長度運算符cout固定輸出格式浮點數的比較max排序自定義類型字符的大小寫轉換與判斷判斷字符是數字還是字母 02_數據結構需要注意的內容1.stringgetline函數的使用string::findsubstr截取字符串strin…