
排序
小王子y
互关啊!!
展开
-
第九届蓝桥杯省赛C++B组 递增三元组
给定三个整数数组A=[A1,A2,…AN],B=[B1,B2,…BN],C=[C1,C2,…CN],请你统计有多少个三元组 (i,j,k)满足:1≤i,j,k≤NAi<Bj<Ck输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,…AN。第三行包含 N 个整数 B1,B2,…BN。第四行包含 N 个整数 C1,C2,…CN。输出格式一个整数表示答案。数据范围1≤N≤105,0≤Ai,Bi,Ci≤105输入样例:31 1 12 2 23 3原创 2021-01-02 00:44:24 · 124 阅读 · 0 评论 -
第k个数(快速排序)
给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109109范围内),表示整数数列。输出格式输出一个整数,表示数列的第k小数。数据范围1≤n≤1000000,1≤k≤n输入样例:5 32 4 1 5 3输出样例:3#include <iostream>using namespace std;const int N = 100010;原创 2020-12-26 23:30:32 · 368 阅读 · 0 评论 -
快速排序(模板题)
给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include <iostream>using namespace std;const int N =原创 2020-12-26 23:02:56 · 421 阅读 · 0 评论 -
逆序对的数量(归并排序)
给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数n,表示数列的长度。第二行包含 n 个整数,表示整个数列。输出格式输出一个整数,表示逆序对的个数。数据范围1≤n≤10000062 3 4 5 6 1输出样例:5#include <iostream>using namespace std;原创 2020-12-23 09:56:09 · 163 阅读 · 0 评论 -
归并排序
给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include <cstring>#include <iostream>#include &l原创 2020-12-23 00:47:18 · 89 阅读 · 0 评论 -
PAT甲级真题1012 最佳排名(排序)
现在,要给 CS 专业一年级的学生进行成绩评估。我们只考虑他们的三门成绩:C–c语言,M–数学,E–英语,除此之外,我们还会考虑 A –三门成绩平均值。注意:平均成绩为三科成绩平均值四舍五入取整的结果。例如,四个学生的成绩单如下:StudentID C M E A310101 98 85 88 90310102 70 95 88 84310103 82 87 94 88310104 91 91 91 91每个学生都会有各科排名以及平均成绩排名,我们通原创 2020-12-06 12:32:50 · 286 阅读 · 0 评论 -
PAT甲级真题1055 世界首富(K路归并)
《福布斯》杂志每年都会根据世界上最富有的人群的年度排名发布其亿万富翁名单。现在,你需要模拟这项工作,但你只需要统计特定年龄段的富有人群。也就是说,给定 NN 个人的净资产,你必须找到在给定年龄范围内的 MM 个最富有的人。输入格式第一行包含两个整数 NN 和 KK,分别表示总人数以及询问次数。接下来 NN 行,每行包含一个人的姓名(长度不超过 88 且不包含空格的字符串),年龄(范围在 (0,200](0,200] 的整数),净资产(范围在 [−106,106][−106,106] 的整数)。接原创 2020-11-28 00:38:46 · 226 阅读 · 0 评论 -
PAT甲级真题1016 电话账单(简单易懂和巧妙处理两种办法)
长途电话公司按以下规则向客户收费:拨打长途电话每分钟要花费一定的费用,具体收费取决于拨打电话的时间。客户开始拨打长途电话的时间将被记录,客户挂断电话的时间也将被记录。每个月都要给客户发送一次话费账单,账单中应包含每次通话记录以及相关收费等信息。给定一组电话记录,你的工作是为客户准备帐单。输入格式输入包含两部分:费率结构和电话记录。费率结构由一行组成,该行包含24个非负整数,分别表示从 00:00-01:00 的收费(分/分钟),从 01:00-02:00 的收费,以此类推…下一行包含一个正整原创 2020-11-22 16:54:01 · 492 阅读 · 0 评论 -
PAT甲级真题1022 数字图书馆(STL容器的运用)
数字图书馆包含数以百万计的书籍。每本书的书名,作者,摘要关键词,出版商和出版年限这五类关键信息都在数据库中有所记录。每本书被分配一个唯一的 77 位数字作为其 ID。当读者查询某一关键信息时,你应该找到所有与查询相关的书籍,并将它们按 ID 的升序排序输出。输入格式第一行包含整数 NN,表示共有 NN 本书。接下来包含这 NN 本书的具体信息,每本书的相关信息占 66 行:第一行:书的 ID,一个 77 位数字。第二行:书名,一个长度不超过 8080 的字符串。第三行:作者,一个长度不超过原创 2020-11-20 23:07:41 · 280 阅读 · 0 评论 -
PAT甲级真题1015 可逆质数
给定两个整数 NN 和 DD,如果 NN 是一个质数,并且将 NN 转化为 DD 进制表示后,再进行反转,得到的新数字转化为十进制表示后如果也是一个质数,则称 NN 在 DD 进制系统中,是一个可逆质数。例如,N=73,D=10N=73,D=10,则 7373 是质数,其十进制表示反转后为 3737 也是质数,所以 7373 在十进制系统中是一个可逆质数。N=23,D=2N=23,D=2,则 2323 是质数,其二进制表示为 1011110111,反转后得到 1110111101,转化为十进制后为 29原创 2020-11-19 23:08:32 · 614 阅读 · 0 评论 -
PAT甲级真题1075 PAT 评测(可以锻炼程序能力)
PAT 的排名列表是根据状态列表产生的,状态列表中显示了所有提交记录的分数。现在,请你为 PAT 生成排名列表。输入格式第一行包含三个整数 N,K,MN,K,M,分别表示总用户数量,题目数量,以及提交数量。用户编号是从 0000100001 到 NN 的 55 位数字。问题编号从 11 到 KK。第二行包含 KK 个整数 p1,p2,…,pKp1,p2,…,pK,其中 pipi 表示第 ii 题的满分。接下来 MM 行,每行包含一个提交信息,包括用户编号,题目编号,以及得分。当提交无法正确编原创 2020-11-19 01:00:38 · 239 阅读 · 0 评论 -
PAT甲级真题1052 链表排序(疑难测试点分析巧妙解法)
链表由一系列的结构体组成,每个结构体中包含一个 Key 值和一个指向下一个结构体的 Next 指针。现在,给出一个链表,请你按照 Key 值升序的顺序将链表重新排序。补充1、本题中可能包含不在链表中的节点,这些节点无需统计,无需排序,无需输出。2、链表可能为空。(头节点地址为 −1−1)。输入格式第一行首先包含一个整数 NN,表示总节点数量,然后包含链表头节点的地址。接下来 NN 行,每行描述一个节点的信息,格式如下:Address Key Next其中 Address 是节点地址,Key原创 2020-11-18 00:35:50 · 491 阅读 · 1 评论 -
PAT甲级真题1025 PAT 排名(STL运用)
编程能力测试(PAT)由浙江大学计算机科学与技术学院组织。每次测试都会在多个地区同时进行,测试完成后,将会对成绩进行统计与合并,生成总排名。你的任务就是编写一个程序,将各地区人员的成绩合并汇总,生成最终排名。输入格式第一行包含整数 NN,表示测试将会在 NN 个地区同时进行。接下来是 NN 个地区的成绩列表。每个地区的成绩列表,第一行包含整数 KK,表示该地区的测试人数。接下来 KK 行,每行包含一个学生的考号(1313 位数字)以及该学生的成绩。输出格式第一行输出总考生人数。然后用以下原创 2020-11-18 00:13:42 · 307 阅读 · 0 评论 -
PAT甲级真题1039 学生课程列表(STL的运用)
浙江大学有 4000040000 名学生,提供 25002500 门课程。现在给定所有课程的报名学生姓名列表。给定你一个学生名单,请你查询名单中的学生的具体选课情况。输入格式第一行包含两个整数 NN 和 KK,分别表示需要查询的学生数量以及课程数量。接下来包含 KK 个课程的具体报名信息。每个课程信息的第一行包含两个整数 ii 和 NiNi,分别表示该课程的编号(所有课程编号从 11 到 KK)以及报课人数。第二行包含 NiNi 个学生姓名,学生姓名由三个大写字母和一个数字组成。最后一行包含原创 2020-11-17 23:56:47 · 163 阅读 · 0 评论 -
PAT甲级真题1080 研究生入学
据说,20112011 年,浙江省约有 100100 所研究生院准备着手处理 40,00040,000 多份入学申请。如果你可以编写一个程序来自动执行录取流程,那将会很有帮助。每个申请人都必须提供两个成绩:全国入学考试成绩 GEGE 和面试成绩 GIGI,申请人的最终成绩是 (GE+GI)/2(GE+GI)/2。录取规则如下:申请者将根据其最终成绩由高到低进行排名,并且将从排名列表的顶部开始逐一录取。如果申请者的最终成绩并列,则按照 GEGE 成绩由高到低进行排名,如果成绩仍然并列,则并列者的排名原创 2020-11-14 00:17:24 · 163 阅读 · 0 评论 -
PAT甲级真题1062 才华与德行(简单代码)
大约 900900 年前,中国哲学家司马光写了一本历史书,其中谈到了人们的才华和德行。按照他的理论,才华和德行都杰出的人是圣人。才华一般,德行过人的人是君子。才华,德行都一般,但是德行胜过才华的人是愚人。以上都不满足的是小人。现在,给定每个人的才华和德行,请你根据司马光的理论对他们排名。输入格式第一行包含三个整数,NN,表示总人数,LL,表示合格分数线,仅对才华和德行均不低于此线的那些人进行排名,HH,表示优秀分数线。下面对四种人进行分类:才华和德行均不低于 HH 的是圣人,圣人们按德才总原创 2020-11-11 20:34:25 · 223 阅读 · 0 评论