news 2026/7/2 0:52:20

P6365 [传智杯 #2 初赛] 众数出现的次数(C++)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
P6365 [传智杯 #2 初赛] 众数出现的次数(C++)

原题链接:P6365 [传智杯 #2 初赛] 众数出现的次数 - 洛谷

题目描述

传智专修学员的课堂上,为了活跃气氛,并巩固位运算的知识,同学们玩起了一个游戏。

班级里有 n(n≤106) 名同学,每位同学都获得了两张卡,红卡或者黑卡。每张卡上都有一个不超过 109 的非负整数。第 i 位同学手里红卡数字是 ai​ ,黑卡数字是 bi​。

现在需要每位同学出牌。每位同学可以直接将红卡上的数字打出,或者将自己的红卡上的数字和自己黑卡数字进行按位异或操作后的结果打出。最后老师会收集所有同学打出的数字。

这些数字中出现次数最多的数字是众数。在所有同学合作的最优策略下,我们希望众数对应数字出现的次数尽可能多。请问出现次数最多的数字是多少呢?

输入格式

第一行,一个正整数 n。

接下来 n 行,其中第 i 行时非负整数 ai​,bi​ 代表第 i 名同学手上红卡和黑卡的数字。

输出格式

一个整数,表示答案。如果有多个解,请输出最小的那个。

输入输出样例

输入

4 21 9 28 9 28 3 17 4

输出

21

说明/提示

样例解释:

众数出现次数最多是 3 次,有如下两种方法:

  • 1 号同学直接出红卡,2 号同学出红黑异或,3 号同学随便出,4 号同学出红黑异或。这样 1,2,4 号同学都可以打出 21。
  • 1 号同学出红黑异或,2 号同学直接出红卡,3 号同学直接出红卡,4 号同学随便出。这样 1,2,3 号同学都可以打出 28。

所以 21 和 28 都是出现次数最多的众数,因为最多可以出现 3 次,不存在出现 4 次的方案。但是由于要求如果有多解输出小的,请输出 21。

以下是我的题解,利用了哈希表键值不能重复的特性统计了每个数字出现的次数,从而达到解题的目的。

#include <bits/stdc++.h> #include <unordered_map> using namespace std; int main() { int n; cin >> n; unordered_map<long long, int> count; for (int i = 0; i < n; i++) { long long a, b; cin >> a >> b; long long result = a ^ b;//计算两个数字异或的结果 if (a == result) { count[a]++; } else { count[a]++; count[result]++; } } int max = 0; long long min = 1000000001; for (auto& i : count) {//由于哈希表中的数据没有顺序的概念,所以使用auto来遍历整个哈希表 long long num = i.first;//对应前面long long类型数据 int cnt = i.second;//对应数据出现的次数 if (cnt > max) { max = cnt; min = num; } else if (cnt == max && num < min) { min = num;//当出现次数相同时,选择较小的那个数字 } } cout << min << endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/29 16:13:07

Linly-Talker在博物馆文物解说中的生动呈现

Linly-Talker在博物馆文物解说中的生动呈现 在一座安静的博物馆展厅里&#xff0c;一位游客驻足于越王勾践剑前&#xff0c;轻声问道&#xff1a;“这把剑为什么千年不腐&#xff1f;”话音刚落&#xff0c;展柜旁的屏幕上&#xff0c;一位身着汉服、面容沉静的虚拟讲解员缓缓抬…

作者头像 李华
网站建设 2026/6/26 0:08:32

基于Linly-Talker开发虚拟偶像,内容创作者的新机遇

基于Linly-Talker开发虚拟偶像&#xff1a;内容创作者的新机遇 在短视频与直播带货席卷全球的今天&#xff0c;一个现实问题摆在每位内容创作者面前&#xff1a;如何以更低的成本、更高的效率&#xff0c;持续输出高质量、有辨识度的内容&#xff1f;传统真人出镜受限于时间、精…

作者头像 李华
网站建设 2026/6/30 14:11:24

Linly-Talker在商场导购机器人中的真实表现

Linly-Talker在商场导购机器人中的真实表现系统架构与核心模块解析 当一位顾客走进商场&#xff0c;面对琳琅满目的店铺却不知所措时&#xff0c;一台立于中庭的“虚拟导购员”微笑着开口&#xff1a;“您好&#xff0c;需要帮助吗&#xff1f;”——这不是科幻电影&#xff0c…

作者头像 李华
网站建设 2026/7/1 13:11:52

Linly-Talker支持SNMP协议监控设备状态

Linly-Talker 支持 SNMP 协议监控设备状态 在企业级 AI 应用逐步从“能用”走向“好用、可靠、可管”的今天&#xff0c;一个数字人系统是否具备良好的可观测性&#xff0c;往往比它说了多少句话更关键。尤其是在银行大厅的虚拟导览员、医院自助问诊终端或远程教育直播间的背后…

作者头像 李华
网站建设 2026/7/1 4:18:55

Linly-Talker与小米小爱同学技能互通方案

Linly-Talker与小米小爱同学技能互通方案 在智能语音助手已深入千家万户的今天&#xff0c;用户对交互体验的要求早已不再满足于“能听会说”。当我们在家中呼唤“小爱同学”时&#xff0c;是否也曾期待那个熟悉的声音能从屏幕中走出来&#xff0c;带着表情和口型&#xff0c;面…

作者头像 李华