简单理解 NOI / 1.10编程基础之简单排序 附ac题解

NOIP2009普及组第2题 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。输入 第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中... 阅读详情

题目:

描述

    世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。

    现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 
输入
    第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的志愿者人数。输入数据保证m*150%向下取整后小于等于n。
    第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。
输出
    第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。
    从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
样例输入

    6 3
    1000 90
    3239 88
    2390 95
    7231 84
    1005 95
    1001 88

样例输出

    88 5
    1005 95
    2390 95
    1000 90
    1001 88
    3239 88

提示
    样例说明:m*150% = 3*150% = 4.5,向下取整后为4。保证4个人进入面试的分数线为88,但因为88有重分,所以所有成绩大于等于88的选手都可以进入面试,故最终有5个人进入面试。

题解:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
struct Per{
	int order;
	int grade;
};
bool cmp(Per a,Per b);


int main(){
	//n为参选人数,m为录取人数 

	int n,m;
	cin >>n>>m;
	Per per[n];
	for(int i=0;i<n;i++){
		cin>>per[i].order>>per[i].grade;
	} 
	sort(per,per+n,cmp);
	int mp = m*1.5;
	//判断最后一个人是否同分,如果是增加录用人数 
	while(1){
		//最后一个人与上一个人成绩相等 
		if(per[mp].grade==per[mp-1].grade) {
			mp++;
		}
		else break;
	}
	cout<<per[mp-1].grade<<" "<<mp<<endl;
	for(int i=0;i<mp;i++){
		cout<<per[i].order<<" "<<per[i].grade<<endl;
	}

	return 0;
}

bool cmp(Per a,Per b){
	if(a.grade==b.grade){
		return a.order<b.order;
	}
	return a.grade>b.grade;
}

思路:

如果没有这个提醒,我是还得想一会。(做题务必要考虑边界!!)

提示
    样例说明:m*150% = 3*150% = 4.5,向下取整后为4。保证4个人进入面试的分数线为88,但因为88有重分,所以所有成绩大于等于88的选手都可以进入面试,故最终有5个人进入面试。

思路就是用结构体排序,只是得注意一下边界情况!

不懂评论区问我ou!!

1180:分数线划定/P1068 [NOIP2009 普及组] 分数线划定 1180:分数线划定/P1068 [NOIP2009 普及组] 分数线划定世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m×150%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。第一行 阅读详情

相关推荐

从零开始:OpenJudge NOI刷题指南与实战技巧

本文提供了一份全面的OpenJudge NOI刷题指南,涵盖平台介绍、科学刷题方法论、高效训练技巧及进阶实战策略。通过详细的题目筛选策略、四步解析法和常见错误处理方案,帮助编程爱好者系统提升算法能力,特别适合信息学奥林匹克竞赛(NOI)选手使用OpenJudge平台进行针对性训练。

weixin_29204121的博客 521

【题解】分数线划定 (NOIP 2009 普及组 第二题)

题目来源:洛谷 题目描述: 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,AA市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m \times 150%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 ...

cjx的博客 3516

信息学奥赛备赛指南:如何高效刷OpenJudge NOI题库(以‘谁考了第k名’为例讲解调试技巧)

本文详细解析了信息学奥赛备赛中如何高效刷OpenJudge NOI题库,以经典题目'谁考了第k名'为例,深入讲解数据结构设计、排序算法选择和调试技巧。通过系统的方法论和实战案例,帮助竞赛选手提升解题效率,实现竞赛能力的快速突破。

weixin_30876945的博客 293

每日一题12006-分数线划定

1.题目详情 世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 2.解题思路 学号和成绩需要匹配,成绩输出的同时学号也不能改变 如何比较笔试成绩? 同

weixin_46398446的博客 1324

洛谷训练题 P1068 分数线划分 难度 普及-

世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,AA市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150\%150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m \times 150\%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。

ANSYS Fluent 2023R2实战:用欧拉多相流模型搞定流化床模拟(附详细参数避坑)

本文详细解析了ANSYS Fluent 2023R2中欧拉多相流模型在流化床模拟中的应用,包括模型选择、材料属性设置、相间作用力配置及初始化技巧。特别针对高颗粒浓度工况提供参数优化方案,帮助工程师提升模拟精度与效率,适用于化工、能源等领域的流化床反应器设计。

weixin_30938149的博客 269

NOI历年总结

[> 发表于 2015-06-24   |   分类于 题解   |   4条评论 发现历年NOI的题目里面……DP好多啊…… NOI2007 货币兑换 DP,斜率优化,分治或动态凸包 经典的动态凸包或分治斜率优化DP的问题。项链工厂 线段树 旋转和翻转实际上没有对序列做出改变,记录项链的起点和方向即可直接用线段树。生成树计数 DP,基于连通性状态压缩,矩阵乘法

lengxuenong的博客 2108

Netapp FAS2750更换磁盘后不同步问题处理

netapp fas2750磁盘更换后不同步问题处理

jetliu05的博客 1256

LibreOJ 题解汇总

目录 #1. A + B Problem #2. Hello, World! #3. Copycat #4. Quine #7. Input Test #100. 矩阵乘法 #101. 最大流 #102. 最小费用流 ...

weixin_38168786的博客 2605

Zotero内存占用与存储优化:从根源解决卡顿与空间不足

文献管理软件在学术工作中扮演着重要角色,其核心原理是通过数据库管理元数据与附件文件,实现文献的快速检索与组织。然而,随着文献库规模增长,软件的资源管理机制可能面临挑战,尤其是内存占用与存储空间优化问题。从技术价值看,高效的附件管理策略不仅能提升软件响应速度,还能确保数据安全与可移植性。在实际应用场景中,研究者常遇到软件卡顿、存储目录膨胀等痛点,这通常与附件存储模式、缓存机制及数据库维护有关。本文聚焦于Zotero这一主流工具,针对其内存占用高、文件无法删除等常见问题,提供了外置存储、链接附件、数据库维护等系

weixin_34209060的博客 467

阿波罗开发板硬件架构与STM32模块化设计详解

嵌入式开发板的模块化设计是提升硬件复用性、降低迭代成本的关键技术路径。其核心在于底板与核心板的电气解耦与功能分层,依托STM32系列MCU(如F429/F767)的丰富外设资源与引脚复用能力,实现信号完整性、电源域隔离与热管理的系统级协同。该架构显著支撑工业HMI、智能家居网关、便携医疗设备等典型场景,尤其在RGB LCD驱动、QSPI Flash内存映射、多协议通信(CAN/RS485/USB)及低功耗唤醒(WK_UP按键)等工程实践中展现出高可靠性与易调试性。本文围绕阿波罗开发板展开深度解析,覆盖最小系

weixin_42510201的博客 64

【非官方题解】2022牛客寒假算法基础集训营2

牛客寒假算法基础集训营2非官方题解,记录自己的学习过程,内容为赛时自己的代码加上赛后参考他人代码的总和

Wmiracle的博客 989

【AI应用实战-WorkBuddy】WorkBuddy 能帮你做什么(一)

文章摘要: WorkBuddy是一款AI工作助手,专为提升效率而设计,适用于经常处理文档、代码、数据分析等重复性任务的职场人士。它能通过自然语言交互快速完成五大核心场景任务: 周报撰写:输入工作要点,10分钟生成专业周报; 代码调试:解析报错信息,3分钟提供解决方案; Excel分析:自动计算数据趋势并生成图表和结论; 自动化脚本:将重复流程转为脚本,节省98%时间; 文档生成:根据代码自动补充README、API文档和注释。 效果对比:传统手动操作耗时1-3小时的任务,WorkBuddy可将时间缩短至10

352

Luogu P2414 [NOI2011]阿狸的打字机 AC自动机+fail树+树状数组

Luogu P2414 [NOI2011] 阿狸的打字机 私以为Luogu题解的第一篇写的很好。。这里算是用我自己的理解重述一下吧。 First-Step:暴力 因为要匹配出现次数,而且是多个串的问题,会想到AC自动机。这里要求的是trie树上一个串在另一个串中出现的次数,也算是一个套路吧。记录一下trie树上每个位置代表了第几个串的结束,也记录每个串的结束位置。这样每次询问x在y中出现了多少次,...

Loi_Seavot的博客 343

【WRF-GHG 教程上】完整教程(2024年更新版)

完整教程(2024年更新版)

WW、forever的博客 1436

即插即用系列(代码实践) | CVPR 2025 FDConv:频域动态卷积,打破密集预测任务的参数效率瓶颈

本文提取自 CVPR 2025 的最新底层算子革新论文《Frequency Dynamic Convolution for Dense Image Prediction》。近年来,动态卷积(Dynamic Convolution)通过融合多个并行卷积核极大地提升了模型性能,但研究表明:这些并行卷积核在频域上的响应高度相似,导致了极其严重的参数浪费,且缺乏对不同频率特征的自适应能力。本文复现了该网络的核心架构——FDConv(频率动态卷积)。该方案创造性地在傅里叶域(Fourier Domain)中学习固定参

分享顶会顶刊论文即插即用模块 113

从算法竞赛到编程启蒙:洛谷平台学习路径与实战策略解析

算法竞赛作为计算机科学领域的重要分支,其核心在于通过系统训练提升问题抽象、逻辑思维与算法实现能力。其原理基于对经典算法与数据结构的掌握,并通过在线评测系统实现即时反馈与迭代优化。这一技术路径不仅为信息学奥林匹克竞赛(OI)提供训练基础,更在编程启蒙、思维训练和工程实践能力培养方面具有重要价值。在应用场景上,算法竞赛训练平台如洛谷,通过题库系统、社区生态和比赛机制,构建了从入门到进阶的完整学习路径。本文聚焦于洛谷平台,深入探讨如何通过结构化刷题、系统化调试和社区参与,实现编程能力的有效提升,并警惕‘抄题解’和

weixin_30736301的博客 528

uni-app - 最新实现将 uniapp 项目打包编译为 H5 网站,并上传部署到 web 服务器进行发布预览(从打包到发布完整流程步骤,Hbuilder 编译打包 h5 发行到 web 服务器)

uniapp,打包h5,打包编译H5网站,怎么打包h5,uniapp打包成H5部署到服务器教程,uniapp打包H5页面发布到服务器,uniapp开发,打包成H5部署到服务器_uniapp打包h5,uniapp如何打包h5项目,怎么把项目打包成H5,uniapp如何打包成H5并且放到web端上,打包成h5部署到服务器的步骤,打包发行到h5报错怎么办,如何将uniapp打包的h5网站放到服务器上,编译打包后怎么放到web服务器中,如何将uniapp开发的H5打包并部署到服务器,部署使用uniapp开发的h5

🏆 前端领域优质创作者 1万+

团队作业二题解集合

T1:[NOI2002] 银河英雄传说 一道见过很多次的题,就是带权并查集,本题所求的不止是两个东西之间是否有关系,还要求两个东西之间有什么关系,即权重。 size[i]表示第 i 条队列有多少艘飞船,d[i]表示iii号飞船的前面有多少艘飞船 看起来没什么毛病不是吗>>>BUT有一个神奇的问题:没错那个问为什么的就是我,我不理解为什么等价的写法为啥就会错,改过来确确实实就AC了。还有就是记得过程量清零 #include<bits/stdc++.h> using n.

fervency(洛谷id)的博客 494

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[BZOJ2434][Noi2011]阿狸的打字机(AC自动机+树状数组)

Source https://www.lydsy.com/JudgeOnline/problem.php?id=2434 Solution 首先将打印出的所有串建成 Trie 树。 具体操作: 从 Trie 树的根开始走,对于每个字符, (1)如果小写字符,就往对应的子节点走,如果没有则创建一个再走。 (2)如果是 B ,那么往父亲走。 (3)如果是 P ,那么就在当前节点标记一次...

女装的你,如此好看! 207

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

2023河南萌新联赛第(一)场:河南农业大学(部分题解)

E: 动物朋友, F: 松鼠排序, G: Reverse, H: 迷宫探险, J: 合唱比赛, K: 以撒和隐藏房间

G_matinal的博客 629

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

BZOJ2434:[NOI2011]阿狸的打字机(AC自动机,线段树)

Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。 经阿狸研究发现,这个打字机是这样工作的: l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 l 按一下印有'B'的按键,打字机凹槽中最后一个字母会消失。 l 按一下印有'P'的按键,打字机会在...

weixin_34289454的博客 100

2016.07.06杂题选讲(JohnBer)完结小记

PrefaceJohnber搞了那么久,终于在昨晚搞完了杂题选讲。长达5场的第一期杂题选讲终于完结撒花。TextProblem 1[NOI2011][JZOJ2784]阿狸的打字机 AC\mathrm{AC}自动机一道比较好的题目,重点考察对朴素匹配过程的观察和优化。记得我还Naive得时候对AC\mathrm{AC}自动机理解不够,半天都没弄懂,现在已经一目了然了。Problem 2[CF674

待成熟的葡萄 942

信息学奥赛背后的逻辑:如何通过OpenJudge提升编程能力

本文深入探讨了如何通过OpenJudge平台有效提升编程能力,助力信息学奥赛(NOI)备战。文章系统介绍了OpenJudge题库的训练路径、三遍刷题法等高效学习方法,以及从基础到高级的代码能力提升策略,帮助参赛者培养计算思维和算法设计能力。

o4p5q6r7s的博客 622

C++编程入门第三阶段:从语法到算法思维的实战跨越

程序设计思维是连接基础语法与解决实际问题的桥梁,其核心在于将计算规则抽象为逻辑流程,并通过代码严谨实现。这一过程涉及复杂流程控制、数据结构应用与模块化编程,是培养工程实践能力的关键。在C++学习的中级阶段,学习者需掌握数组、字符串等基础数据结构,理解嵌套循环与条件组合,并初步运用函数进行代码封装。这些能力对于实现基础算法、进行问题建模至关重要,尤其为NOI等算法竞赛的初期训练打下坚实基础。通过系统练习问题分析与抽象建模,开发者能有效跨越从‘知道语法’到‘能用语法解决问题’的鸿沟,提升代码调试与优化效率。

weixin_34184158的博客 400

洛谷算法竞赛生态全解析:从核心功能到高效学习路径

在线评测系统(OJ)是算法学习和编程竞赛的核心平台,其原理在于通过自动化评测机验证代码的正确性、时间与空间效率。这项技术的价值在于为学习者提供了即时反馈和标准化的训练环境,极大地提升了算法练习的效率与效果。在众多应用场景中,中文算法竞赛社区洛谷构建了一个集题目、评测、社区、教程于一体的完整生态。本文聚焦于洛谷平台,深入剖析其题目系统、评测机制与社区功能等核心模块,并融入题单规划和博客沉淀等实用技巧,旨在帮助用户系统性地提升算法能力,将平台工具价值最大化,从而在算法竞赛与工程实践中建立扎实基础。

weixin_30460489的博客 410
上一篇: 简单题解 NOI / 1.7编程基础之字符串 - 30 字符串环
下一篇: 简单理解 Leetcode--5630. 删除子数组的最大得分
unomit
博客等级 码龄7年 30粉丝 110原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值