news 2026/7/10 10:42:59

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/7/9 5:21:08

手把手教你对接Open-AutoGLM API,高效定制专属AI工作流

第一章&#xff1a;Open-AutoGLM 二次开发接口使用指南Open-AutoGLM 提供了一套灵活且可扩展的二次开发接口&#xff0c;允许开发者基于其核心能力构建定制化应用。通过调用开放的 API 接口和继承关键类&#xff0c;用户能够实现模型行为重写、上下文增强处理以及外部系统集成。…

作者头像 李华
网站建设 2026/7/9 8:15:06

Linly-Talker支持Zabbix告警通知机制

Linly-Talker 集成 Zabbix 实现智能告警通知 在当前 AI 数字人系统逐步走向生产落地的背景下&#xff0c;一个关键挑战浮出水面&#xff1a;如何让这些高度复杂的多模态系统——集成了大模型、语音识别、语音合成与面部动画驱动——在长时间运行中保持稳定&#xff1f;尤其是在…

作者头像 李华
网站建设 2026/7/9 17:32:49

Linly-Talker在电影院自助取票机的交互优化

Linly-Talker在电影院自助取票机的交互优化 智能终端的“人性化”突围 在一线城市的核心商圈影院里&#xff0c;常常能看到这样的画面&#xff1a;一位老人站在自助取票机前反复点击屏幕却无从下手&#xff0c;身旁的孩子一边念操作步骤一边叹气&#xff1b;或是外国游客面对全…

作者头像 李华
网站建设 2026/7/9 18:22:37

Linly-Talker支持QUIC协议降低连接延迟

Linly-Talker支持QUIC协议降低连接延迟 在远程会议频繁卡顿、虚拟客服响应迟缓的今天&#xff0c;用户对“实时交互”的容忍度正变得越来越低。尤其是在数字人这类融合语音识别、语言生成与面部动画的复杂系统中&#xff0c;哪怕几百毫秒的延迟&#xff0c;都可能让一场本应自然…

作者头像 李华
网站建设 2026/7/8 19:38:20

Linly-Talker支持Prometheus监控指标采集

Linly-Talker 支持 Prometheus 监控指标采集 在 AI 数字人系统逐步从技术演示走向真实业务场景的今天&#xff0c;一个关键问题浮出水面&#xff1a;如何确保这些复杂系统在长时间、高并发运行下的稳定性与可观测性&#xff1f;以虚拟主播、智能客服为代表的数字人服务&#xf…

作者头像 李华
网站建设 2026/7/9 21:31:22

Linly-Talker与蓝凌KM知识管理系统整合实践

Linly-Talker与蓝凌KM知识管理系统整合实践 在企业数字化转型不断深化的今天&#xff0c;员工对知识获取方式的期待早已超越了“搜索-点击-阅读”的传统路径。尤其是在新员工培训、政策宣贯、跨部门协作等高频场景中&#xff0c;大量静态文档堆积在知识库里&#xff0c;利用率却…

作者头像 李华