AT_abc348_c [ABC348C] Colorful Beans 题解

题目传送门

解题思路

对于每种颜色的豆子,我们先找到美味度最小的那个,最后找出这些不同种类的豆子中美味度最大的即可。

那我们怎么找到第 i i i 种豆子中美味度最小的那个呢?这里给出两种思路:

  1. 使用桶的思想标记。
  2. 对于每一种的豆子按照美味度从大到小排序。

注意: 如果你使用的是思路一,那么你不能使用数组进行标记,因为数据范围很大,因此我们可以使用 map 进行标记。

第一种思路的代码:

#include <bits/stdc++.h>
using namespace std;
#define int long long
struct node {int a, c;
}b[200010];
map<int, int> m;
signed main() {
ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int n;cin >> n;for (int i = 1; i <= n; i++) {cin >> b[i].a >> b[i].c;if (m[b[i].c] == 0)m[b[i].c] = b[i].a;else m[b[i].c] = min(m[b[i].c], b[i].a);}int ans = -1e9;for (int i = 1; i <= n ;i ++){ans = max(m[b[i].c], ans);}cout << ans;return 0;
} 

第二种思路的代码:

#include <bits/stdc++.h>
using namespace std;
#define int long long
struct node {int a, c;
}b[200010];
map<int, int> m;
bool cmp(node a, node b){if (a.c != b.c)return a.c < b.c;return a.a < b.a;
}
signed main() {
ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int n;cin >> n;for (int i = 1; i <= n; i++)cin >> b[i].a >> b[i].c;sort(b + 1, b + 1 + n, cmp);int ans = -1e9;for (int i = 1; i <= n; i++)if (b[i].c != b[i - 1].c)ans = max(ans, b[i].a);cout << ans;return 0;
}

总结

这道题目还是很水,主要考察的是桶或者结构体排序,如果需要程序运行速度更快,建议大家使用第二种方法完成这道题目,因为本题使用第二种方法比第一种方法快两倍,如果需要以最快的速度完成这道题,那么建议使用第一种方法,因为代码要短 50 50 50 个字符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

向日葵抓住哪三个要点,帮助企业构建专业技术支持服务体系?

售后技术支持是销售行为的延续&#xff0c;在存量时代企业是否能够提供优质专业的售后技术支持服务显得尤为重要&#xff0c;它直接关系到企业产品在市场中的口碑&#xff0c;进而影响企业的发展命运。 因此&#xff0c;企业势必需要重视技术支持服务体系的搭建&#xff0c;引…

JavaScript 事件循环竟还能这样玩!

JavaScript 是一种单线程的编程语言&#xff0c;这意味着它一次只能执行一个任务。为了能够处理异步操作&#xff0c;JavaScript 使用了一种称为事件循环&#xff08;Event Loop&#xff09;的机制。 本文将深入探讨事件循环的工作原理&#xff0c;并展示如何基于这一原理实现一…

git-commit-id-plugin maven插件笔记(git commitId跟踪工具)

文章目录 maven依赖git.properties 例子 代码版本管理比较混乱&#xff0c;如何记录呢? 一种是手动记录&#xff0c;也可以实现&#xff0c;显得有点笨。 也可以通过插件。 maven依赖 <plugin><groupId>pl.project13.maven</groupId><artifactId>git…

面试题系列:Python是什么?使用Python有什么好处?你对 PEP 8 有什么理解?

###面试题系列:Python是什么?使用Python有什么好处?你对 PEP 8 有什么理解? 1、Python是什么? Python是一门动态的(dynamic)且强类型(strong)语言 延伸: 1)静态类型语言和动态类型语言的判别的标准 如果类型检查发生在编译阶段(compile time),那么是静态类型语言(s…

【数据分享】水体分布与五级水系和流域矢量数据+2000-2022年植被指数(NDVI)数据(全国/分省/分市)

1. 数据介绍 数据分为3个层次结构&#xff0c;分别为省、地级市、县。其中&#xff0c;省级水体31个&#xff08;不包含香港、台湾等&#xff09;&#xff0c; 地级市水体366个&#xff0c;县级市水体2847个。每一个文件夹中都包含该省、地级市或者县的水体矢量数据、行政边界…

数学建模 —— 灰色系统(4)

目录 什么是灰色系统&#xff1f; 一、灰色关联分析 1.1 灰色关联分析模型 1.2 灰色关联因素和关联算子集 1.2.1 灰色关联因素 1.2.2 关联算子集 1.3 灰色关联公理与灰色关联度 1.3.1 灰色关联度 1.3.2 灰色关联度计算步骤 1.4 广义关联度 1.4.1 灰色绝对关联…

一文读懂GDPR

GDPR将对人们的网络足迹、使用的APP和服务如何保护或利用这些数据产生重大影响。 下面我们将对有关GDPR人们最关心的问题进行解读。 GDPR是什么&#xff1f; 一般数据保护条例&#xff08;General Data Protection Regulation&#xff09;是一项全面的法律&#xff0c;赋予了…

风电Weibull+随机出力!利用ARMA模型随机生成风速+风速Weibull分布程序代码!

前言 随着能源问题日益突出&#xff0c;风力发电等以可再生能源为基础的发电技术越来越受到关注。建立能够正确反映实际风速特性的风速模型是研究风力发电系统控制策略以及并网运行特性的重要基础叫。由于风速的随机性和波动性&#xff0c;系统中的机械设备和电气设备以及电网…

计算机网络⑩ —— Linux系统如何收发网络包

转载于小林coding&#xff1a;https://www.xiaolincoding.com/network/1_base/how_os_deal_network_package.html 1. OSI七层模型 应用层&#xff0c;负责给应用程序提供统一的接口&#xff1b;表示层&#xff0c;负责把数据转换成兼容另一个系统能识别的格式&#xff1b;会话…

深度剖析云边对接技术:探索开放API接口的价值与意义

在当今数字化时代的浪潮中&#xff0c;云边对接与开放API接口成为了塑造行业生态的重要驱动力。随着云计算、物联网和边缘计算等技术的快速发展&#xff0c;传统产业正在迈向数字化转型的关键时刻。而在这个过程中&#xff0c;云边对接技术以及开放的应用程序接口(API)扮演着举…

处理STM32 DMA方式下的HAL_UART_ERROR_ORE错误

1. 检查并调整DMA和UART配置 确保初始化顺序&#xff1a;需要确保USART的CR寄存器UE位开关留到最后打开&#xff0c;即完成USART和DMA的所有配置初始化后再使能USART。这样可以避免初始化顺序不当导致的通信问题。配置合适的DMA缓冲区&#xff1a;确保DMA缓冲区足够大&#xf…

Facebook海外三不限 | 如何降低Facebook频繁被封的风险

本文将讨论Facebook账户被封的原因及降低封禁风险的方法&#xff0c;以维护用户的账户安全和社交乐趣。 1. 常见原因&#xff1a;账户被封通常与发布违反社区标准的内容有关&#xff0c;如仇恨言论、暴力内容、欺诈虚假信息、非法活动、骚扰、版权侵权等。此外&#xff0c;未授…

el-date-picker选择开始日期的近半年

<el-date-pickerv-model"form[val.key]":type"val.datePickerType || daterange":clearable"val.clearable && true"range-separator"~"start-placeholder"开始日期"end-placeholder"结束日期"style&q…

玩转Linux进度条

准备工作&#xff1a; 一.关于缓冲区 首先&#xff0c;咱们先来一段有意思的代码&#xff1a; #include<stdio.h> #include<unistd.h> int main() {printf("you can see me");sleep(5);} 你可以在你的本地运行一下&#xff0c;这里我告诉大家运行结果…

【SAP HANA 33】前端参数多选情况下HANA如何使用in来匹配?

场面描述: 在操作界面经常会出现某个文本框需要多选的情况,然后后台需要根据多选的值进行匹配搜索。 一般处理的情况是: 1、在Java后端动态生成SQL 2、不改变动态SQL的情况,直接当做一个正常的参数进行传递 本次方案是第二个,直接当做一个正常的字符串参数进行传递即…

【面试题-014】Mysql数据库有哪些索引类型?

文章目录 B 树和 B 树区别B 树B 树 mysql聚簇索引和非聚簇索引聚簇索引&#xff08;Clustered Index&#xff09;非聚簇索引&#xff08;Non-Clustered Index&#xff09;总结 MyISAM和InnoDB两种常见的存储引擎区别MySQL的主从同步原理如何确保主从同步的数据一致性&#xff1…

使用C++实现高效的套接字连接池

在现代网络应用中&#xff0c;高效管理网络连接是实现高并发和低延迟的重要因素。下面将详细介绍如何使用C实现一个高效的套接字连接池&#xff0c;以便在需要时快速复用连接&#xff0c;从而提高系统性能和资源利用率。 一、什么是连接池&#xff1f; 连接池是一种管理网络连…

RFID防盗门:守护您的商品资产安全!

在新零售运营管理中&#xff0c;防盗是至关重要的一环。根据美国零售联合会发布的年度零售安全调查&#xff0c;2022年美国零售商损失了创纪录的1121亿美元。其中年度损失最大因素是由外部盗窃导致库存损失和员工内部盗窃造成的。 然而传统零售业商品资产盘点往往依赖人工排查&…

ConcurrentHashMap详解 什么时候CAS什么时候synchronized

jdk:1.7 segment数组hashEntry数组链表实现 jdk版本&#xff1a;1.8&#xff1a;hashEntry数组红黑树实现 1、基本参数 //**1、最大容量** hashmap的最大容量也是这个&#xff0c;菜鸟一面被问到了 private static final int MAXIMUM_CAPACITY 1 << 30;//数组默认为…

《科技与健康》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《科技与健康》期刊万方网可查吗 答&#xff1a;万方、维普可查 问&#xff1a;《科技与健康》是正规期刊吗&#xff1f; 答&#xff1a;万方维普收录的正规期刊。主管单位&#xff1a;长江出版传媒股份有限公司 主办单位&#xff1a;湖北科学技术…