![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随手回顾
爱吃虾的小松树
sdu萌新
展开
-
# 1002 A+B for Polynomials (25 分)
1002 A+B for Polynomials (25 分)1002 A+B for Polynomials (25 分)This time, you are supposed to find A+B where A and B are two polynomials.Input Specification:Each input file contains one test case. Each case occupies 2 lines, and each line contains the i原创 2021-03-18 20:57:10 · 62 阅读 · 0 评论 -
# 1001 A+B Format (20 分)
1001 A+B Format (20 分)Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input file contains one test case. Each ca原创 2021-03-18 20:09:01 · 80 阅读 · 0 评论 -
# 质数相加(eular)
质数相加(eular)代码如下超时了,这是我没有想到的,能力有限,没法再改进了#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxnum = 1e6 + 10;vector<int> prime(maxnum);vector<int> s(maxnum, 1);int k = 0;void eular(){ s[0] = s[1] = 0;原创 2021-03-12 17:30:07 · 177 阅读 · 0 评论 -
# 最长上升子序列(dp)
最长上升子序列(dp)LIS是最长上升子序列。什么是最长上升子序列? 就是给你一个序列,请你在其中求出一段最长严格上升的部分,它不一定要连续。就像这样:2, 3, 4, 7 和 2, 3, 4, 6 就是序列 2 5 3 4 1 7 6 的两个上升子序列,最长的长度是 4代码如下#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int n; scanf("%d", &am原创 2021-03-12 16:55:20 · 71 阅读 · 0 评论 -
# 7-43 字符串关键字的散列映射 (25 分)
7-43 字符串关键字的散列映射 (25 分)给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位;再用除留余数法将整数映射到长度为P的散列表中。例如将字符串AZDEG插入长度为1009的散列表中,我们首先将26个大写英文字母顺序映射到整数0~25;再通过移位将其映射为3×32^2 +4×32+6=3206;然后根据表长得到3206 % 1009 = 179,即是该字符串的散列映射位置。发生冲突时请用平方探测法解原创 2021-03-03 21:30:52 · 250 阅读 · 1 评论 -
# 7-45 航空公司VIP客户查询 (25 分)
7-45 航空公司VIP客户查询 (25 分)不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。输入格式:输入首先给出两个正整数N(≤10^5 )和K(≤500)。其中K是最低里程,即为照顾乘坐短程航班的会员,航空公司还会将航程低于K公里的航班也按K公里累积。随后N行,每行给出一条飞行记录。飞行记录的输入格式为:18位身份证号码(空格)飞行原创 2021-03-02 21:55:59 · 233 阅读 · 0 评论 -
# 7-49 打印学生选课清单 (字符串转成数字)(25 分)
7-49 打印学生选课清单 (25 分)假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。输入格式:输入的第一行是两个正整数:N(≤40000),为前来查询课表的学生总数;K(≤2500),为总课程数。此后顺序给出课程1到K的选课学生名单。格式为:对每一门课,首先在一行中输出课程编号(简单起见,课程从1到K编号)和选课学生总数(之间用空格分隔),之后在第二行给出学生名单,相邻两个学生名字用1个空格分隔。学生姓名由3个大写英文字母+1位原创 2021-03-02 20:30:14 · 544 阅读 · 0 评论 -
# 7-51 两个有序链表序列的合并 (20 分)
7-51 两个有序链表序列的合并 (20 分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10代码如下#inclu原创 2021-03-02 16:09:38 · 129 阅读 · 0 评论 -
# 7-52 两个有序链表序列的交集 (20 分)
7-52 两个有序链表序列的交集 (20 分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 2 5 -12 4 5 8 10 -1输出样例:2 5思路:当两个数组有相同的一对数时,消耗掉这一对数字1原创 2021-03-01 22:14:13 · 89 阅读 · 2 评论 -
# 7-53 两个有序序列的中位数 (25 分)
7-53 两个有序序列的中位数 (25 分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0 ,A1 ,⋯,AN−1 的中位数指A(N−1)/2 的值,即第⌊(N+1)/2⌋个数(A0 为第1个数)。输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。输出格式:在一行中输出两个输入序列的并集序列的中位数。输入样例1:51 3 5原创 2021-03-01 21:54:11 · 83 阅读 · 0 评论 -
# 7-42 整型关键字的散列映射 (25 分)
7-42 整型关键字的散列映射 (25 分)给定一系列整型关键字和素数P,用除留余数法定义的散列函数H(Key) = Key % P将关键字映射到长度为P的散列表中。用线性探测法解决冲突。输入格式:输入第一行首先给出两个正整数N(≤1000)和P(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。输出格式:在一行内输出每个整型关键字在散列表中的位置。数字间以空格分隔,但行末尾不得有多余空格。输入样例:4 524 15 61 88输出原创 2021-03-01 21:46:43 · 167 阅读 · 0 评论 -
# 7-41 PAT排名汇总 (同分排名问题)(25 分)
7-41 PAT排名汇总 (25 分)计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,各个考点的成绩将即刻汇总成一张总的排名表。现在就请你写一个程序自动归并各个考点的成绩并生成总排名表。输入原创 2021-03-01 21:01:21 · 98 阅读 · 0 评论 -
# 7-40 奥运排行榜 (25 分)
7-40 奥运排行榜 (25 分)每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人均奖牌榜”,说不定非洲的国家会成为榜魁…… 现在就请你写一个程序,对每个前来咨询的国家按照对其最有利的方式计算它的排名。输入格式:输入的第一行给出两个正整数N和M(≤224,因为世界上共有224个国家和地区),分别是参与排名的国家和地区的总个数、以原创 2021-03-01 16:38:22 · 138 阅读 · 0 评论 -
# 7-38 寻找大富翁 (25 分)
7-38 寻找大富翁 (25 分)胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式:输入首先给出两个正整数N(≤10^6 )和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。输出格式:在一行内按非递增顺序输出资产排前M位的大富翁的个人资产值。数字间以空格分隔,但结尾不得有多余空格。输入样原创 2021-02-24 18:34:17 · 234 阅读 · 0 评论 -
# 7-37 模拟EXCEL排序 (25 分)
7-37 模拟EXCEL排序 (25 分)Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。输入格式:输入的第一行包含两个正整数N(≤10^5 ) 和C,其中N是纪录的条数,C是指定排序的列号。之后有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,保证没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩([0, 100]内的整数)组成,相邻属性用1个空格隔开。输出格式:在N行中输出按要求排序后的结果,即:当C=1时,按学号递增排序;当C=2时,按姓名的非原创 2021-02-24 18:28:51 · 155 阅读 · 0 评论 -
# 7-26 Windows消息队列 (25 分)
7-26 Windows消息队列 (25 分)消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出正整数N(≤10^5 ),随后N行,每行给出一个指令——GET或PUT,分别表示从队列中取出消息或将消息添加到队列中。如原创 2021-02-24 16:15:14 · 143 阅读 · 0 评论 -
# 7-24 树种统计 (25 分)
7-24 树种统计 (25 分)随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤10^5 ),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。输入样例:29Red AlderAshAspenBasswoodAs原创 2021-02-24 15:23:51 · 114 阅读 · 0 评论 -
# 7-23 还原二叉树 (25 分)
7-23 还原二叉树 (25 分)给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5代码如下#include<bits/stdc++.h>using namespace std;typedef原创 2021-02-23 22:33:23 · 93 阅读 · 0 评论 -
# 7-19 求链式线性表的倒数第K项 (20 分)
7-19 求链式线性表的倒数第K项 (20 分)给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7代码如下#include<bits/stdc++.h>using namespace原创 2021-02-23 22:12:46 · 197 阅读 · 0 评论 -
# 7-18 银行业务队列简单模拟 (25 分)
7-18 银行业务队列简单模拟 (25 分)设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟着N位顾客的编号。编号为奇数的顾客需要到A窗口办理业务,为偶数的顾客则去B窗口。数字间以空格分原创 2021-02-23 22:08:52 · 261 阅读 · 0 评论 -
# 7-17 汉诺塔的非递归实现 (25 分)
7-17 汉诺塔的非递归实现 (25 分)借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”),并保证每个移动符合汉诺塔问题的要求。输入格式:输入为一个正整数N,即起始柱上的盘数。输出格式:每个操作(移动)占一行,按柱1 -> 柱2的格式输出。输入样例:3输出样例:a -> ca -> bc -> ba -> cb -> ab ->原创 2021-02-23 21:56:54 · 286 阅读 · 0 评论 -
# 7-16 一元多项式求导 (20 分)
7-16 一元多项式求导 (20 分)设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0代码如下#include<bits/stdc++.h>using namespace std;typedef lo原创 2021-02-23 21:45:36 · 202 阅读 · 0 评论 -
# 7-15 QQ帐户的申请与登陆 (25 分)
7-15 QQ帐户的申请与登陆 (25 分)实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式:输入首先给出一个正整数N(≤10^5 ),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10位、但大于1000(据说QQ老总的号码是1001)的整数。密码为原创 2021-02-23 21:30:08 · 198 阅读 · 0 评论 -
# 7-14 电话聊天狂人 (25 分)
7-14 电话聊天狂人 (25 分)给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤10^5),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。输入样例:413005711862 135886258321350571原创 2021-02-23 20:47:15 · 157 阅读 · 0 评论 -
# 7-13 统计工龄 (20 分)
7-13 统计工龄 (20 分)给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。输入格式:输入首先给出正整数N(≤10^5 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。输入样例:810 2 0 5 7 2 5 2输出样例:0:12:35:27:110:1代码如下 #include<bits/stdc++原创 2021-02-23 20:39:54 · 204 阅读 · 0 评论 -
# 7-12 排序 (25 分)
7-12 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105个基本有序的整数;数据9:105个随机正整数,每个数字不超过1000。输入格式:输入第一行给出正整数N(≤10原创 2021-02-23 20:36:08 · 99 阅读 · 0 评论 -
# 7-2 一元多项式的乘法与加法运算 (20 分)
7-2 一元多项式的乘法与加法运算 (20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:1原创 2021-02-17 16:02:04 · 187 阅读 · 4 评论 -
#AT987 高橋君 题解(莫队算法,逆元)
题目描述给你两个整数 n,k,求满足以下条件的长为 n 的字符串 S 的数量:S 只由 0 和 1 组成S 包含不超过 k 个 1由于答案可能很大,所以要对 10^9 + 7 取模。 有 T 组数据。输入格式第一行一个正整数 T,表示数据组数。接下来 T 行,每行两个整数 n,k意义如题目描述。输出格式输出 T 行,每行一个整数,表示一组数据的答案。输入输出样例输入 #1复制101 13 25 28 312 0642 2462222 9992525 2150000原创 2021-01-19 21:44:47 · 173 阅读 · 0 评论 -
# P1601 A+B Problem(高精度)
P1601 A+B Problem(高精度)题目描述高精度加法,相当于a+b problem,不用考虑负数.输入格式分两行输入。a,b < 10^500输出格式输出只有一行,代表a+b的值输入输出样例输入 #1复制11输出 #1复制2输入 #2复制10019099输出 #2复制10100#include<bits/stdc++.h>using namespace std;int main(){ string a, b; ci原创 2021-01-19 21:02:46 · 112 阅读 · 0 评论