![](https://img-blog.csdnimg.cn/565989cfb657450e867b45b280d74891.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PAT甲级算法
文章平均质量分 73
刷就完事了
Jack.Chanel
个人主页:jackchanel.top
展开
-
1075 PAT Judge
1. 由于题要的复杂性,因此设计结构体来实现部分操作,比如结构体内部的calc计算与isSubmit的判断。结构体初始化的代码也需要学习。i原创 2023-01-29 21:53:56 · 73 阅读 · 0 评论 -
1052 Linked List Sorting
1. 输入输出的优化2. c字符串的转换3. 用映射来实现链表的存储与排序(核心)原创 2023-01-27 13:46:47 · 58 阅读 · 0 评论 -
1039 Course List for Student
1. 简简单单的输入输出题。原创 2023-01-19 15:55:15 · 74 阅读 · 0 评论 -
1028 List Sorting
1. 比较函数的编写与使用。原创 2023-01-19 14:47:54 · 61 阅读 · 0 评论 -
1025 PAT Ranking
1. 排序的重载运算符应用,直接改变了排序比较的条件重载运算符2. 同分排名函数的设计:如果不同分(包括前面没人这情况),取下标+1。同分,取前面的人的排名。原创 2023-01-19 12:12:57 · 68 阅读 · 0 评论 -
1022 Digital Library 数字图书馆
1. 一道简单的模拟题,只是输入较为繁琐。总结输入规律就是如果要使用getline(),注意先用getchar()清除回车。2. 为什么设计结构体,因为本题数据不统一,有set和string结构并用,所以采用结构体会比较合适。3. 如何不用编写函数分隔字符串的空格?原创 2023-01-14 11:11:18 · 107 阅读 · 0 评论 -
1012 The Best Rank 最佳排名
1. 一道思路简单,流程复杂的题,主要解决点1.1 算四舍五入平均值1.2 各科成绩排序1.3 同位次排名相同1.4 按科目优先级排序2. 排序思想2.1 将各科成绩分别列到一个数组中,集中处理2.2 用二分法找逆序排序后相同成绩情况下最靠左的一个下标3. 四舍五入,这里用到cmath中的round函数,对于int的除法,只要除一个浮点型,就能类型转换成浮点除法4. 成绩优先级,只需要将成绩列表按优先级排序,依次比较5. 学生成绩存储采用map,以学号为键,各成绩组成数组为值。原创 2023-01-13 22:34:57 · 90 阅读 · 0 评论 -
1100 Mars Numbers 火星数字(抠条件)
1. 本题唯一值得总结的是getchar的作用,getchar可以消除行末的空格,从而让getline可以正常接受,而不是第一次收到空白。2. 其他没啥好说的,就是抠条件。。。。原创 2023-01-11 21:16:28 · 116 阅读 · 0 评论 -
1027 Colors in Mars 13进制
转13进制输出。原创 2023-01-13 22:24:41 · 64 阅读 · 0 评论 -
1015 Reversible Primes 可逆质数
1.首先根据题意,写出main函数的主要部分,然后根据需要实现对应的函数。2.判断质数,明确1不是质数,判断质数可以采用循环到开方数位置即可。另外可以参考埃氏筛确定构造质数地图,然后判定,不过本题时间复杂度允许,无需构造。3.剩下的就是进制转化,老生常谈了。原创 2023-01-11 18:16:06 · 73 阅读 · 0 评论 -
1010 Radix 进制
这题具有一定难度,主要核心是进制的转换与二分法的边界确定。1. 首先读入数据,确定一个基准数据(已知进位和数值的数据),然后计算出其十进制数。这里用long long能解决问题的主要原因是该题数据最大估计为36^10(数值部分最多10位)小于1e18。2. N进制转10进制,to_value采用的是秦九韶算法。这里尤其要注意为什么传入的参数数据类型为long long,因为对待定的进制数,其进制不确定,这里我们要分析进制数的进制取值范围。原创 2023-01-10 16:53:45 · 96 阅读 · 0 评论 -
1024 Palindromic Number 回文数
1. 这题的输入数字能否用int接收,一个指标是int占32位,10位大致为10的3次,32大概是10的9次,这题最好采用string接收数字。简单来说,10的10次数据不能用int接收。2. 字符串反转,这里需要分char[]数组类型和string类型,对于char[]数组,使用strrev(s);。或者使用reverse(s.begin(),s.end()),这个在中。原创 2023-01-10 16:11:51 · 62 阅读 · 0 评论 -
1023 Have Fun with Numbers 高精度加和
1. 利用vector来记录数字的累加结果方便确定位数。2. vector的遍历与访问需要巩固。原创 2023-01-06 19:35:26 · 67 阅读 · 0 评论 -
1009 Product of Polynomials 多项式乘法
1. 手动模拟多项式乘法即可得出解题思路。和加法一样,把所有过程计算后,最后输出需要的数据即可。2. 最后的for范围从LEN*2开始会导致PAT部分错误,这里应该是平台的问题,改成2000以内的数都能通过pat。理论上i比2000大都是可以通过的。原创 2023-01-06 15:46:02 · 82 阅读 · 0 评论 -
1002 A+B for Polynomials
1. 简单的多项式问题,只需要将对应指数的系数相加后输出即可。2. 一般考虑开辟最大数组来存储所有系数,然后筛选出有用的数据输出即可。关键是筛选。原创 2023-01-06 13:46:05 · 64 阅读 · 0 评论 -
1016 Phone Bills
1. 这是一道很臭很长的模拟题,根据题目要求我们需要先梳理清楚数据关系,首先是分时段不同价格的话费表,然后是不同用户的多次通话记录,排列上无序。要求我们根据条件筛选出有效的数据然后进行话费的计算。2. 计算话费的核心思想,先列出一个从0时间点到某一个时间点(单位为分钟)的话费总和表,然后用户每次通话的话费只需要将两个时间戳对应的话费总和相减即为该段通话的话费。原创 2023-01-05 21:27:27 · 71 阅读 · 0 评论 -
1061 Dating
1. 扣条件就完事了。原创 2023-01-02 21:23:44 · 54 阅读 · 0 评论 -
1071 Speech Patterns
1. tolower的使用,要求是char,返回的也是char 实现字符大写转小写。2. 字符串截取的思路,以及使用map来存储字符串出现的次数。原创 2023-01-02 20:33:52 · 60 阅读 · 0 评论 -
1050 String Subtraction
1. 使用unordered_set实现哈希表2. 使用getline获取带空格的一行输入。原创 2023-01-02 19:22:34 · 52 阅读 · 0 评论 -
1036 Boys vs Girls
1. 平平无奇,按照题意求解即可。原创 2023-01-02 11:29:41 · 61 阅读 · 0 评论 -
1035 Password
1. 模拟题,按题目意思来即可。原创 2023-01-01 17:31:28 · 98 阅读 · 0 评论 -
1006 Sign In and Sign Out
1. 字符串判空 str.empty()2. 字典序比较。原创 2023-01-01 17:01:20 · 54 阅读 · 0 评论 -
1005 Spell It Right
1. 利用字符串做差来实现字符型数字到整型数字转换 num-’0‘2. 利用字符串数组实现数字到单词的匹配3. 空格的处理。原创 2023-01-01 16:47:48 · 58 阅读 · 0 评论 -
1001 A+B Format
1. to_string() 直接转字符串2. 关键是加逗号的条件判断2.1 从后向前每3个加一个2.2 如果是正数,前面不要加2.3 如果是负数,提前检测,不要加。原创 2023-01-01 16:43:55 · 59 阅读 · 0 评论