STL练习

2058: [STL训练]Who's in the Middle

题目描述

FJ is surveying his herd to find the most average cow.He wants to know how much milk this 'median' cow gives:half of the cows give as much or more than the median; half give as much or less.

Given an odd number of cows N (1 <= N < 10,000) and their milk output (1..1,000,000), find the median amount of milk given such that at least half the cows give the same amount of milk or more and at least half give the same or less.

输入格式

* Line 1: A single integer N
* Lines 2..N+1: Each line contains a single integer that is the milk
output of one cow.

输出格式

* Line 1: A single integer that is the median milk output.

样例输入

复制

5 2 4 1 3 5

样例输出

复制

3
#include<bits/stdc++.h> using namespace std; int main(){ int n,mid; cin>>n; vector<int>d; for(int i=0;i<n;i++){ int m; cin>>m; d.push_back(m); }//数据 sort(d.begin(),d.end());//对容器中的元素从小到大排序 mid=d[n/2]; cout<<mid; return 0; }

代码中运用sort排序

从小到大:sort(d.begin(),d.end());

从大到小:sort(d.begin(),d.end(),greater<int>());

2059: [STL训练]sort练习

题目描述

给你n个整数,请按从大到小的顺序输出其中前m大的数

输入格式

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),
第二行包含n个各不相同,且都处于区间[-500000,500000]的整数

输出格式

对每组测试数据按从大到小的顺序输出前m大的数。

样例输入

复制

5 3 3 -35 92 213 -644

样例输出

复制

213 92 3
#include<bits/stdc++.h> using namespace std; int main(){ int n=0; int m=0; cin>>n>>m; vector<int>d; for(int i=0;i<n;i++){ int k=0; cin>>k; d.push_back(k); } sort(d.begin(),d.end(),greater<int>()); for(int j=0;j<m;j++){ cout<<d[j]<<" "; } return 0; }

代码中运用sort排序

从小到大:sort(d.begin(),d.end());

从大到小:sort(d.begin(),d.end(),greater<int>());

2060: [STL训练]美国大选

题目描述

美国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支 持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州超过一半的选民支持希拉里,则她将赢得该州的支持。现在给出每个州的选民人数,请问希拉里至少需要赢得多少选民的支持才能当选?

输入格式

多组输入数据
每组数据的第一行包括一个整数N(1<=N<=101),表示美国的州数,N=0表示输入
结束
接下来一行包括N个正整数,分别表示每个州的选民数,每个州的选民数不超过
100

输出格式

对于每组数据输出一行,表示希拉里至少需要赢得支持的选民数

样例输入

复制

3 5 7 5 0

样例输出

复制

6

题意理解:

有多组测试数据,有结束条件(N=0表示输入 结束)需要用while;

当选需要超过一半的州或人(注意数据加一)

sort排序(至少需要赢得支持的选民数)从小到大排

#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n&&n!=0){ int sum=0; vector<int>d; for(int i=0;i<n;i++){ int m; cin>>m; d.push_back(m); } sort(d.begin(),d.end()); for(int j=0;j<n/2+1;j++){ sum+=d[j]/2+1; } cout<<sum<<endl; } return 0; }

2061: [STL训练]周瑜的反间计

输入格式

本题包含多组case。每组case第一行是一个整数N(1<=N<=1000),当N为-1时输入结束且不需要输出。接下来输入N个不同的数字,代表已有文件的编号,编号i的范围是(0<=i<=2^31-1)。然后是一个整数M(1<=M<=100000),接下来的M个数字代表M个询问,询问当前输入编号所代表的文件是否为真实的。

输出格式

对于每一个询问,如果该编号所代表的文件是真是的,输出“YES”,否则
输出“NO”。每组case后有一个空行。

样例输入

复制

3 4 10 6 2 1 4 -1

样例输出

复制

NO YES

题意理解:

有多组测试数据且有结束条件,用while

需要对比输出的数据,使用二分法if(binary_search(d.begin(),d.end(),k2)),将k2和d容器里的数据比较查找

#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n&&n!=-1){ vector<int>d; for(int i=0;i<n;i++){ int k1; cin>>k1; d.push_back(k1); } sort(d.begin(), d.end()); int m; cin>>m; for(int j=0;j<m;j++){ int k2; cin>>k2; if(binary_search(d.begin(),d.end(),k2)){ cout<<"YES"<<endl; }else{ cout<<"NO"<<endl; } } //注意细节 cout<<endl; } return 0; }

2062:

[STL训练]第二小整数

题目描述

求n个整数中倒数第二小的数。
每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小
的数就是1。

输入格式

输入包含多组测试数据。
输入的第一行是一个整数C,表示有C测试数据;
每组测试数据的第一行是一个整数n,表示本组测试数据有n个整(2<=n<=10),
接着一行是 n个整数 (每个数均小于100);

输出格式

请为每组测试数据输出第二小的整数,每组输出占一行。

样例输入

复制

2 2 1 2 3 1 1 3

样例输出

复制

2 1

题意理解:

注意第二小,排序问题可以用sort

#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ int m; cin>>m; vector<int>d; for(int j=0;j<m;j++){ int k; cin>>k; d.push_back(k); } sort(d.begin(),d.end()); cout<<d[1]<<endl; } }

2065: [STL训练]{A} + {B}

题目描述

给你两个集合,要求{A} + {B}.
注:同一个集合中不会有两个相同的元素.

输入格式

每组输入数据分为三行,第一行有两个数字n,m(0<n,m<=10000),
分别表示集合A和集合B的元素个数.后两行分别表示集合A和集合B.
每个元素为不超出int范围的整数,每个元素之间有一个空格隔开.

输出格式

针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,
每个元素之间有一个空格隔开.

样例输入

复制

1 2 1 2 3 1 2 1 1 2

样例输出

复制

1 2 3 1 2

set容器插入数据用insert,set容器自带去重和排序功能。

for(int num:c){
cout<<num<<" ";
}//遍历c中所有数据

#include<bits/stdc++.h> using namespace std; int main(){ int n,m; while(cin>>n>>m){ set<int>a; set<int>b; set<int>c; for(int i=0;i<n;i++){ int k1; cin>>k1; a.insert(k1); } for(int j=0;j<m;j++){ int k2; cin>>k2; b.insert(k2); } c.insert(a.begin(), a.end()); // 插入a的所有元素 c.insert(b.begin(), b.end()); for(int num:c){ cout<<num<<" "; } } return 0; }

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

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

相关文章

学术写作必备:9大免费查重工具,每天无限次检测,提升论文质量更便捷

核心工具对比速览 工具名称 查重速度 降重效果 特色功能 适用场景 aicheck 极快 重复率可降30% 专业术语保留 高重复率紧急处理 aibiye 中等 逻辑优化明显 学术表达增强 提升论文质量 askpaper 快 结构保持完整 多语言支持 外文论文降重 秒篇 极快 上下文…

基于stm32单片机的智能安防系统

目录硬件组成核心功能软件设计典型应用场景扩展功能源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;硬件组成 STM32单片机作为主控芯片&#xff0c;通常选用STM32F1/F4系列&#xff0c;搭配传感器模块&#xff08;如红外人体感应HC-SR5…

全网最全MBA必备AI论文写作软件TOP10测评

全网最全MBA必备AI论文写作软件TOP10测评 2026年MBA论文写作工具测评&#xff1a;为何需要一份精准指南&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI论文写作工具逐渐成为MBA学生和研究者的重要辅助工具。然而&#xff0c;市面上的工具种类繁多&#xff0c;功能参差…

基于android的大学学校食堂点餐系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

基于android的个人健康系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

基于stm32单片机的智能拐杖系统

目录 硬件设计软件设计功能实现应用场景 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 硬件设计 STM32单片机作为主控芯片&#xff0c;通常选择STM32F103系列&#xff0c;因其性价比高且外设丰富。系统配备超声波传感器用于障碍物检…

无需付费的9款论文查重神器,24小时不限次数使用,为学术创作保驾护航

核心工具对比速览 工具名称 查重速度 降重效果 特色功能 适用场景 aicheck 极快 重复率可降30% 专业术语保留 高重复率紧急处理 aibiye 中等 逻辑优化明显 学术表达增强 提升论文质量 askpaper 快 结构保持完整 多语言支持 外文论文降重 秒篇 极快 上下文…

【AI+教育】人机协同教学研究的五大落地路径

基于技术开展人机协同教学研究与实践&#xff0c;是AI教育领域的重要方向。我们可从多个维度出发&#xff0c;探索人机协同教学研究的具体展开方式。 一、基本维度&#xff1a;围绕是否使用技术展开 使用或不使用技术、采用不同的技术组合&#xff0c;会对教学效果产生不同影…

【毕业设计】Python高校社团学生会管理系统

&#x1f49f;博主&#xff1a;程序员陈辰&#xff1a;CSDN作者、博客专家、全栈领域优质创作者 &#x1f49f;专注于计算机毕业设计&#xff0c;大数据、深度学习、Java、小程序、python、安卓等技术领域 &#x1f4f2;文章末尾获取源码数据库 &#x1f308;还有大家在毕设选题…

免费又好用的9个论文查重工具,支持每日无限检测,让学术写作事半功倍

核心工具对比速览 工具名称 查重速度 降重效果 特色功能 适用场景 aicheck 极快 重复率可降30% 专业术语保留 高重复率紧急处理 aibiye 中等 逻辑优化明显 学术表达增强 提升论文质量 askpaper 快 结构保持完整 多语言支持 外文论文降重 秒篇 极快 上下文…

电商行业的数据分析与优化策略

电商行业的数据分析与优化策略关键词&#xff1a;电商行业、数据分析、优化策略、用户行为、销售预测摘要&#xff1a;本文聚焦于电商行业的数据分析与优化策略。首先介绍了电商数据分析的背景&#xff0c;包括目的、预期读者、文档结构和相关术语。接着阐述了核心概念&#xf…

9款完全免费的论文查重软件,每日检测次数无限制,助你高效完成学术任务

核心工具对比速览 工具名称 查重速度 降重效果 特色功能 适用场景 aicheck 极快 重复率可降30% 专业术语保留 高重复率紧急处理 aibiye 中等 逻辑优化明显 学术表达增强 提升论文质量 askpaper 快 结构保持完整 多语言支持 外文论文降重 秒篇 极快 上下文…

第20届西安国际水展预热 秦西盟不锈钢水管引领行业新风尚

随着第20届西安国际水展的日益临近,各大参展企业纷纷摩拳擦掌、蓄势待发。作为不锈钢水管行业的领军企业,秦西盟不锈钢水管厂家也积极投身其中,通过直播的形式为水展预热,引领行业新风尚。秦西盟:专注不锈钢水管生…

【毕业设计】Python高校学生学业预警系统论文

&#x1f49f;博主&#xff1a;程序员陈辰&#xff1a;CSDN作者、博客专家、全栈领域优质创作者 &#x1f49f;专注于计算机毕业设计&#xff0c;大数据、深度学习、Java、小程序、python、安卓等技术领域 &#x1f4f2;文章末尾获取源码数据库 &#x1f308;还有大家在毕设选题…

热门的南京GEO优化系统

热门的南京GEO优化系统——大麦GEO&#xff0c;企业流量增长的制胜法宝在当今竞争激烈的市场环境下&#xff0c;企业对于品牌曝光和流量获取的需求愈发迫切。而一款优秀的GEO优化系统&#xff0c;无疑是企业实现这一目标的得力助手。今天&#xff0c;我们就来详细了解一下南京静…

大数据运营中的“数据偏见”:3种常见错误及如何用统计方法避免

大数据运营中的“数据偏见”&#xff1a;3种常见错误及如何用统计方法避免 一、引言&#xff1a;你以为的“数据精准”&#xff0c;可能是“自欺欺人” 凌晨1点&#xff0c;你刷着短视频APP&#xff0c;第5次刷到“同款猫咪表情包”&#xff1b;早上打开购物APP&#xff0c;首…

可靠的南京GEO优化系统

可靠的南京GEO优化系统&#xff1a;大麦GEO引领企业流量新征程在当今数字化的浪潮中&#xff0c;企业对于提升品牌曝光、获取稳定流量的需求愈发迫切。而GEO优化系统成为了众多企业的关键选择。今天&#xff0c;就为大家介绍一款来自南京的可靠GEO优化系统——大麦GEO优化系统。…

2026南京装修公司排名权威发布:冠诚装饰9.99分登顶,旧房改造优选指南

随着城市更新步伐加快,2026年南京家装市场呈现出鲜明的“存量焕新”特征,南京旧房改造、老房翻新的需求量激增,已成为市场主流。面对琳琅满目的装修公司,众多业主在启动南京二手房装修项目时,首要难题便是“南京装…

这9款论文查重工具完全免费,支持全天候无限次检测,让学术研究更轻松

核心工具对比速览 工具名称 查重速度 降重效果 特色功能 适用场景 aicheck 极快 重复率可降30% 专业术语保留 高重复率紧急处理 aibiye 中等 逻辑优化明显 学术表达增强 提升论文质量 askpaper 快 结构保持完整 多语言支持 外文论文降重 秒篇 极快 上下文…

2026最新改色车衣十大品牌榜单出炉!汽车改色车衣权威排行发布,品质与个性兼具的优质供应商及源头厂家推荐

引言 随着汽车个性化需求的日益增长,改色车衣市场迎来爆发式发展,但行业产品质量参差不齐、施工技术良莠不齐等问题也随之凸显。据中国汽车后市场协会最新数据显示,目前改色车衣市场合规产品占比不足50%,因产品质量…