首页 > 其他分享 >蓝桥杯-班级活动

蓝桥杯-班级活动

时间:2024-05-23 22:29:38浏览次数:15  
标签:同学 班级 int 个数 蓝桥 cnt2 cnt1 活动 id

题目描述

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

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

输入格式

输入共 2 行。

第一行为一个正整数 ( n )。

第二行为 ( n ) 个由空格隔开的整数 ( a_1, a_2, ..., a_n )。

输出格式

输出共 1 行,一个整数。

输入输出样例

输入 #1

4
1 2 2 3

输出 #1

1

说明/提示

样例说明
仅需要把 ( a_1 ) 改为 3 或者把 ( a_4 ) 改为 1 即可。

评测用例规模与约定

  • 对于 20% 的数据,保证 ( n <= 10^3 )。
  • 对于 100% 的数据,保证 ( n <= 10^5 )。

题解:

一共有两种情况

  1. 只出现过一次的id个数 cnt1 >= 出现过2次以上的id个数 cnt2。 此时把 所有cnt2 都更改成一个id只出现过一次的, 再加上剩下的 cnt1 / 2
  2. 只出现过一次的id个数 cnt1 < 出现过2次以上的id个数 cnt2。 此时把 cnt1个cnt2 都改成一个id只出现过一次的, 再加上剩下的 cnt2 /2

ps: 说白了就是 当有cnt1的时候, 尽可能把cnt2变成cnt1, 当cnt2有剩余的话, 还需要改变 "剩余的cnt2的个数" 次, 当cnt1有剩余的话, 还需要改变 "剩余的cnt1的个数 / 2"

ac代码

标签:同学,班级,int,个数,蓝桥,cnt2,cnt1,活动,id
From: https://www.cnblogs.com/xxctx/p/18207063

相关文章

  • 蓝桥杯-合并数列
    小明发现有很多方案可以把一个很大的正整数拆成若干正整数的和。他采取了其中两种方案,分别将它们列为两个数组{a1,a2,...,an}和{b1,b2,...,bm}。两个数组的和相同。定义一次合并操作可以将某数组内相邻的两个数合并为一个新数,新数的值是原来两个数的和。小明想通过若干......
  • 第三期【数据库主题文档上传激励活动】已开启!快来上传文档赢奖励
    2023年9月、11月,墨天轮社区相继举办了第一期与第二期【数据库主题文档上传激励活动】,众多用户积极参与、上传了大量优质的数据库主题干货文档,在记录经验的同时也为其他从业者带来了参考帮助,这正实现了“乐知乐享、共同成长”的活动初衷。为进一步壮大数据库资源“宝库”、向广大......
  • P8774 [蓝桥杯 2022 省 A] 爬树的甲壳虫
    设\(E_i\)为树根到高度为\(i\)的点的期望用时\(Q_i\)为\(i-1\)到\(i\)的概率,\(Q_i=1-P_i\)\(T_i\)为\(i-1\)到\(i\)的期望用时,\(T_i=E_i-E_{i-1}\)则有\(T_i=Q_i\cdot1+(1-Q_i)\cdot(E_{i-1}+T_i)\)\(\toE_i-E_{i-1}=Q_i+(1-Q_i)\cdot(......
  • 蓝桥杯-子 2023 / 双子数
    题解:第一个问题A动态规划问题f[4]状态表示:f[0]表示数字是2的个数f[1]表示以2开头0结尾的个数f[2]表示以20开头2结尾的个数f[3]表示以202开头3结尾的个数f[3]就是答案代码中有详细的注释和注意事项A代码......
  • P8675 [蓝桥杯 2018 国 B] 搭积木
    原题链接题解1.请务必读清题干意思2.如果以最顶端积木的位置为状态,是可以穷尽所有情况的,则状态为\(dp[i][l][r]\),最顶端第\(i\)层只在区间\([l,r]\)内连续放置积木有几种方法3.状态转移方程$dp[i][l][r]=\sum_1^l\sum_r^mdp[i+1][x][y]$把\(x,y\)看成二维坐标上......
  • 蓝桥杯-日志统计
    小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有N行。其中每一行的格式是:tsid表示在ts时刻编号id的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖......
  • P8624 [蓝桥杯 2015 省 AB] 垒骰子
    原题链接题解code#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstllmod=1e9+7;lla[7][7]={0},e[7]={0};voidcf1(){lltem[7]={0};for(inti=1;i<=6;i++){for(intj=1;j<=6;j++){t......
  • 【已结束】阿珏Blog三周年特别纪念活动
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`【已结束】阿珏Blog三周年特别纪念活动日期:2019-9-13阿珏谈天说地浏览:2426次评论:29条2016-9-19,买了第一个域名和服务器,开始搭建博客。......
  • 三周年活动解密游戏
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`三周年活动解密游戏日期:2019-9-22阿珏谈天说地浏览:1200次评论:10条首先先感谢来访和参与的小伙伴们,让三周年活动完美结束,寄出......
  • 指针练习班级成绩
    1.求第一门课程的平均分2.找出有两门以上不及格的学生3.找出平均分在90分以上或全部课程在85分以上的学生#include<stdio.h>#include<math.h>#include<string.h>#defineM4#defineN5voidAverage(int*arr,intn);voidTwoFail(int*arr);voidOutputFail(int(*p)[N......