news 2026/6/10 20:24:53

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/10 15:41:41

Open-AutoGLM应用迁移实战(从零到上线的完整路径)

第一章&#xff1a;Open-AutoGLM应用迁移实战概述在企业级AI系统演进过程中&#xff0c;将传统自然语言处理架构迁移至现代化大模型平台成为关键路径。Open-AutoGLM作为基于AutoGLM架构的开源推理框架&#xff0c;支持高效部署与兼容性扩展&#xff0c;广泛应用于智能客服、文档…

作者头像 李华
网站建设 2026/6/10 10:23:00

Gemini 3 Pro也有降智的这一天

Hi你好&#xff0c;我是Carl&#xff0c;一个本科进大厂做了2年AI研发后&#xff0c;裸辞的AI创业者。这两天&#xff0c;跟很多朋友聊都能感觉出Gemini 3 Pro降智了。这几天Google沉迷于Gemini 3 Flash的宣发&#xff0c;疯狂刷benchmark。结果呢&#xff1f;Pro的算力被抽去喂…

作者头像 李华
网站建设 2026/6/10 13:39:20

PHP程序员人生沉没成本的庖丁解牛

PHP 程序员的“人生沉没成本”&#xff0c;是指在职业发展过程中&#xff0c;因时间、精力、机会的不可逆投入而产生的心理与决策负担。它常表现为&#xff1a;“我学了 5 年 PHP&#xff0c;现在转 Go/前端是不是浪费了&#xff1f;”、“这个烂项目我做了 2 年&#xff0c;不…

作者头像 李华
网站建设 2026/6/10 12:29:29

Linly-Talker支持中英文双语交互,全球化应用场景更广泛

Linly-Talker&#xff1a;中英文双语驱动的数字人交互新范式 在虚拟主播深夜直播带货、AI客服24小时在线应答、跨国会议自动翻译同步进行的今天&#xff0c;人机交互早已不再局限于键盘与屏幕。数字人作为新一代交互界面的核心载体&#xff0c;正以前所未有的速度渗透进商业、教…

作者头像 李华
网站建设 2026/6/9 21:57:40

C++基础:Stanford CS106L学习笔记 11 Lambdas表达式

目录11.1 函数和Lambdas表达式11.1.1 函数作为谓词11.1.2 Lambda函数11.1.3 函子(functor)11.2 算法\<algorithm>11.3 Ranges&View11.3.1 ranges&#xff08;c20&#xff09;11.3.2 views&#xff08;c20&#xff09;11.3.3 Ranges&Views11.1 函数和Lambdas表达式…

作者头像 李华
网站建设 2026/6/9 23:45:35

【Open-AutoGLM新应用适配全攻略】:掌握5大核心流程,快速实现AI模型落地

第一章&#xff1a;Open-AutoGLM新应用适配概述Open-AutoGLM 是一个面向自动化自然语言理解与生成任务的开源框架&#xff0c;支持快速集成大语言模型至垂直领域应用。其核心优势在于模块化解耦、接口标准化以及对多后端模型的良好兼容性&#xff0c;使得开发者能够高效完成从原…

作者头像 李华