
排序
文章平均质量分 66
洛谷算法题单
要减肥11
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
P5143 攀爬者
摘要:题目要求计算从最低点到最高点按高度顺序经过所有点的总欧几里得距离。首先将N个三维坐标点按z值升序排序,然后依次计算相邻两点间的距离并累加。时间复杂度为O(NlogN)(排序耗时),空间复杂度O(N)。示例输入5个点,输出总距离6.928。核心算法包括排序和距离计算,确保结果精确到三位小数。原创 2025-07-21 10:14:09 · 295 阅读 · 0 评论 -
P1116 车厢重组
摘要:题目描述了一种通过旋转桥面交换相邻两节车厢的列车排序方法,要求实现自动化计算最少旋转次数。输入为车厢总数N和初始顺序,输出为将车厢升序排列所需的最小交换次数。解决方案通过计算逆序数实现,即统计数组中前面元素大于后面元素的次数。例如输入4节车厢[4,3,2,1]时,逆序数为6,即最少需要6次旋转交换。核心算法采用双重循环遍历数组计算逆序对数,时间复杂度为O(n²)。原创 2025-07-21 10:13:22 · 320 阅读 · 0 评论 -
P1068 [NOIP 2009 普及组] 分数线划定
摘要:本文描述了一个世博会志愿者选拔程序,根据笔试成绩确定面试分数线。程序输入包括报名人数n和计划录取人数m,面试分数线按m×150%向下取整确定。所有成绩不低于该分数线的选手进入面试。程序首先对选手按成绩降序、报名号升序排序,计算分数线后统计合格人数并输出结果。样例输入6人,计划录取3人,最终5人达到88分及以上进入面试。时间复杂度为O(nlogn),适用于n≤5000的情况。原创 2025-07-21 10:11:00 · 565 阅读 · 0 评论 -
P1152 欢乐的跳
摘要:题目要求判断一个整数数组是否符合"欢乐的跳"条件,即相邻元素差的绝对值包含1到n-1的所有整数。程序首先读取数组长度n和元素,计算相邻元素的绝对差并标记出现的差值1到n-1。最后检查这些差值是否全部存在,输出"Jolly"或"Notjolly"。输入样例1 {1,4,2,3} 符合条件,而样例2 {5,1,4,2,-1,6} 不符合。原创 2025-07-21 10:10:01 · 334 阅读 · 0 评论 -
P2676 [USACO07DEC] Bookshelf B
摘要:该算法解决奶牛叠塔问题,要求选出最少奶牛使其身高总和达到书架高度。首先将N头奶牛的身高降序排序,然后从高到低累加身高,直到总和≥B时输出当前奶牛数量。示例输入6头奶牛(身高6-19)和B=40时,最优解是3头奶牛(18+11+13)。算法时间复杂度主要由排序决定,为O(N log N)。原创 2025-07-18 12:27:17 · 818 阅读 · 0 评论 -
P1781 宇宙总统
地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 n 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。接下来有 n 行,分别为第一个候选人到第 n 个候选人的票数。共两行,第一行是一个整数 m,为当上总统的人的号数。第一行为一个整数 n,代表竞选总统的人数。票数可能会很大,可能会到 100 位数字。第二行是当上总统的人的选票。原创 2025-07-18 12:26:24 · 120 阅读 · 0 评论 -
P1093 [NOIP 2007 普及组] 奖学金
本文介绍了NOIP2007普及组T1题目,要求根据学生的语文、数学、英语成绩计算总分,并按总分降序、语文降序、学号升序的规则排序后输出前5名学生的学号和总分。程序使用结构体存储学生信息,定义自定义比较函数实现排序逻辑,最终输出符合要求的前5名学生数据。输入格式为n+1行,输出为5行,每行包含学号和总分。样例输入输出展示了正确的排序结果。代码实现简单高效,适合竞赛使用。原创 2025-07-18 12:02:36 · 685 阅读 · 0 评论 -
P1923 【深基9.例4】求第 k 小的数
本文介绍了使用快速选择算法在O(n)时间内查找第k小元素的方法。给定n个数字(n<5000000且为奇数),算法通过分治策略将数组划分为两部分:以枢轴元素为界,左边元素小于枢轴,右边元素大于枢轴。根据k与枢轴位置的关系,递归处理相应子区间,最终找到第k小的元素。代码实现中,选择中间元素作为枢轴,并通过交换操作进行分区,避免了使用标准库的nth_element函数。算法的时间复杂度为O(n),适用于大规模数据。输入格式为n和k,以及n个整数;输出为第k小的数(0-based)。示例展示了输入5个数字时查原创 2025-07-18 12:00:48 · 344 阅读 · 0 评论 -
P1059 [NOIP 2006 普及组] 明明的随机数
摘要:本文描述了一个处理随机数去重和排序的算法问题。输入包括N个1-1000的随机整数(N≤100),需要去除重复数字并按升序排列。使用C++实现,主要步骤包括:1)输入随机数并存储到数组;2)使用sort函数排序;3)双指针法去重,统计不重复数字个数;4)输出结果。时间复杂度为O(nlogn)(主要来自排序),空间复杂度为O(n)。该解法简洁高效,适用于小规模数据处理。原创 2025-07-08 13:40:16 · 274 阅读 · 0 评论 -
P2676 [USACO07DEC] Bookshelf B
摘要:题目要求从N头奶牛中选择最少数量的奶牛,使它们的身高之和不小于书架高度B。解法是将奶牛身高降序排序后,从高到低累加,直到总和达到B时输出当前奶牛数量。时间复杂度为O(N log N),主要来自排序操作。输入样例中,6头奶牛身高排序后选择18+11+13=40(B=40),仅需3头奶牛即可满足要求。原创 2025-07-07 22:49:37 · 290 阅读 · 0 评论 -
P1104 生日
cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。数据保证,1<n<100,1≤∣s∣<20。数据保证,1<n<100,1≤∣s∣<20。第 2 行至第 n+1 行分别是每人的姓名 s、出生年 y、月 m、日 d。第 2 行至第 n+1 行分别是每人的姓名 s、出生年 y、月 m、日 d。原创 2025-07-07 21:50:53 · 147 阅读 · 0 评论 -
P1012 [NOIP 1998 提高组] 拼数
摘要:本文描述了一个将n个正整数连接成最大整数的问题。通过输入n个数字,采用选择排序算法比较不同拼接方式(如"ab"与"ba"),将数字按最优顺序排列后拼接输出。算法时间复杂度为O(n²),适用于n≤20的情况。代码示例展示了如何将数字存储为字符串并进行排序,最终输出最大可能的拼接结果。该问题源自NOIP1998提高组,具有实际应用价值。原创 2025-07-07 21:43:30 · 380 阅读 · 0 评论 -
P1177 【模板】排序
摘要:这是一个简单的排序问题,要求将输入的N个正整数按升序排列后输出。程序使用C++编写,通过STL的sort函数实现快速排序。输入包括正整数N和N个待排序的数,输出为排序后的结果,数据范围可达10^5。代码简洁高效,适用于大规模数据排序。原创 2025-07-07 19:58:59 · 107 阅读 · 0 评论 -
P1271 【深基9.例1】选举学生会
摘要:题目要求对学生会选举的选票进行排序。给定n名候选人(编号1到n)和m张选票(每张选票包含一个候选人编号),需要将选票按编号从小到大排序并输出。输入包含n、m和m个选票编号,输出为排序后的结果。使用C++的sort函数对数组进行排序即可。示例输入5名候选人、10张选票,输出为按升序排列的选票编号序列。原创 2025-07-07 15:13:16 · 214 阅读 · 0 评论