- 博客(29)
- 收藏
- 关注
原创 PAT 甲级题目讲解:1012《The Best Rank》
double a;int rk;char cs;核心:多字段排名 + 最优解取值;统一封装函数提升复用性与可维护性;查询用数组或哈希表快速定位。
2025-08-03 14:47:31
841
原创 PAT 甲级题目讲解:1011《World Cup Betting》
本题以 2010 南非世界杯为背景,讲述了中国体育彩票提供的一个叫做 “Triple Winning(三选一)” 的投注玩法。每场比赛W(Win):胜T(Tie):平L(Lose):负每个结果都有对应赔率,即押中后按赔率收益。玩家选择任意3 场比赛,每场选择一个结果投注,总收益计算方式为profita1×a2×a3×0.65−1×2profita1×a2×a3×0.65−1×2a1a2a3a1a2a。
2025-07-30 19:28:46
927
原创 PAT 甲级题目讲解:1010《Radix》
给定两个正整数N1N1N1和N2N2N2,数字可能包含字母(0-9a-z)表示。现已知其中一个数的进制radixradixradix,要求求出另一个数的进制radixradixradix,使得两数相等,即N1r1N2r2N1r1N2r2。若存在多个解,输出最小可能解;若无解,输出Impossible。字符串进制转换函数的设计;
2025-07-27 20:50:10
1108
原创 PAT 甲级题目讲解:1009《Product of Polynomials》
本题为稀疏多项式乘法模拟;建议使用数组作为指数映射表c[i],空间换时间;注意控制:合并同类项;按指数从大到小输出;浮点数格式%.1lf;严格空格输出。时间复杂度约为Ok1×k2Ok1×k2,完全可接受。
2025-07-25 18:54:38
984
原创 PAT 甲级题目讲解:1006《Sign In and Sign Out》
本题核心是字符串格式解析比较最值;统一单位(秒)是关键建模步骤;注意时间格式处理和转换成秒的计算的准确性;
2025-07-25 17:36:25
291
原创 PAT 甲级题目讲解:1004《Counting Leaves》
本题重点是树的建模 + 层序遍历;熟练掌握使用数组模拟邻接表的方法;每轮处理固定数量节点,再推进一层;注意边界处理和输出格式控制。
2025-07-25 17:12:24
503
原创 PAT 甲级题目讲解:1008《Elevator》
本题为电梯规则模拟题,不涉及算法难度,关键是认真理解题意模拟;逐层判断电梯上升或下降,并累加相应时间;注意初始化当前楼层为 0,过程中要逐次更新所在楼层数,最终只需输出总耗时。
2025-07-25 15:37:39
907
原创 PAT 甲级题目讲解:1007《Maximum Subsequence Sum》
本题核心是经典的 Kadane 算法;在遍历时使用s < 0作为重启标志;特判所有为负数的情况;同时跟踪子序列的起点和终点,方便输出原始数值。
2025-07-25 13:08:09
803
原创 PAT 甲级题目讲解:1003《Emergency》
本题为典型的单源最短路径扩展题;采用 Dijkstra 算法 + 路径计数 + 点权最大值维护;图采用链式前向星高效建图,避免邻接矩阵空间浪费。
2025-07-24 20:08:03
995
原创 PAT 乙级题目讲解:1017《A除以B》
给定两个正整数AAA和BBBAAA是不超过1000 位的超大正整数;BBB是一位正整数。要求输出商数QQQ和余数RRR,使得AB×QRAB×QR成立。由于AAA过大,无法使用常规整型变量处理,因此需使用字符串进行逐位除法模拟。高精度除法的竖式模拟;商数数组逐位构建;余数逐步更新传递。
2025-07-19 16:34:11
675
原创 PAT 乙级题目讲解:1016《部分A+B》
本题考查的是字符串提取 + 数字构造的模拟实现问题。给定两个正整数AAA和BBB,以及两个数字DAD_ADA和DBD_BDB。我们需要从AAA中提取出所有为DAD_ADA的数字,并按原顺序拼接成一个新整数PAP_APA;同理从BBB中提取出所有为DBD_BDB的数字,拼接成PBP_BPB,并输出PAPBP_A + P_BPAPB。p(x, dx)
2025-07-19 16:32:13
878
原创 PAT 乙级题目讲解:1015《德才论》
本题考查结构体排序与多条件比较,是一道典型的“模拟+自定义排序”问题。题目源自宋代司马光提出的“德才论”,要求我们依据德分和才分将考生分类排序。才德全尽(圣人):德分和才分均不小于优先线H;德胜才(君子):德分 ≥H,才分 <H;才德兼亡但德胜才(小人):德分 <H且才分 <H,但德分 ≥ 才分;其余及格者(愚人): 其余德分 ≥L,才分 ≥L 总分从高到低 → 德分从高到低 → 准考证号从小到大。(三级嵌套)读取nm++;// 分类进入 a1~a4本题是多维排序 + 多组存储。
2025-07-14 15:23:25
465
原创 PAT 乙级题目讲解:1014《福尔摩斯的约会》
福尔摩斯收到一张奇怪的字条,写着乱码一般的四行字符。作为一名侦探,他很快发现这些乱码其实是一次约会的时间信息。我们的任务是根据字符间的相同规则,解码出正确的星期、小时和分钟。星期:前两个字符串中第一个相同的大写字母,第几个字母就表示星期几;小时:前两个字符串中第一个相同的大写字母后出现的第一对相同字符,用'0''9'表示 0 ~ 9 点;'A''N'表示 10 ~ 23 点;后面两字符串第 1 对相同的英文字母出现的位置下标(从 0 开始计)。本题考查字符串逐位比较与格式化输出;
2025-07-09 14:43:19
858
原创 PAT 乙级题目讲解:1013《数素数》
本题要求输出第PMP_MPM到第PNP_NPN个素数,其中PiP_iPi表示第iii个素数。**输出格式为:**每行最多输出 10 个素数,素数之间用空格隔开,末尾不得多输出空格或换行。本题本质是素数筛选 + 输出格式控制;使用埃拉托色尼筛法,高效筛选前10410^4104个素数;注意从第PmP_mPm个开始计数,不是从mmm本身;时间复杂度OnloglognOnloglogn空间复杂度On。
2025-07-06 21:05:29
1071
原创 PAT 乙级题目讲解:1012《数字分类》
A1A_1A1:能被 5 整除的偶数的和;A2A_2A2:被 5 除余 1 的数字交错求和(正负交替);A3A_3A3:被 5 除余 2 的数字个数;A4A_4A4:被 5 除余 3 的数字平均值(保留一位小数);A5A_5A5:被 5 除余 4 的数字中的最大值。若某类数字不存在,用N代替输出。本题核心在于“分类 + 模拟 + 格式控制”每类统计逻辑独立,可单独处理输出格式是考试中常见扣分点,注意边界和控制细节时间复杂度On。
2025-07-05 20:56:38
787
原创 PAT 乙级题目讲解:1011《A+B 和 C》
A + B > C其中 A、B、C 是给定范围内的整数,重点在于格式化输出以及避免整型溢出问题。本题核心是数据边界判断和格式输出控制;注意使用long long避免溢出问题;输出格式必须严格按照编写;
2025-07-05 19:43:11
1050
原创 PAT 乙级题目讲解:1010《一元多项式求导》
本题考查的是一元多项式求导法则的程序实现。给出一个按“系数 指数”顺序输入的多项式表示,需输出它的一阶导数形式。导数计算规则:若某一项为axba x^baxb,则其一阶导数为abxb−1abxb−1。常数项(指数为 0)导数为 0,应忽略;若导数结果为空(即输入为常数多项式),则应输出0 0;输出为“系数 指数”格式,项之间用空格分隔,末尾不得多空格。熟悉一元多项式导数规则;注意特殊情况处理(常数项、零多项式);精确控制输出格式;
2025-07-05 17:45:35
693
原创 PAT 乙级题目讲解:1008《数组元素循环右移问题》
本题要求将一个长度为NNN的整数数组循环右移MMM位。所谓“循环右移”,即将数组后MMM个元素移至最前面,其余元素顺序后移。题目特别要求不能使用额外数组空间(即就地操作),这使得我们必须在原数组上完成操作,且尽量减少数据移动次数。本题核心是理解循环右移 = 三段翻转;推荐熟练掌握两种写法(手写 + STL);此技巧广泛用于数组与字符串的旋转操作;时间复杂度OnO(n)On,空间复杂度O1O(1)O1,高效且符合题目要求。
2025-07-05 16:33:09
865
原创 PAT 乙级题目讲解:1009《说反话》
本题要求对输入的一句英文句子进行单词反转输出。所谓“说反话”,不是反转字符顺序,而是将句子中各个单词的顺序进行逆序输出。一行内的字符串长度不超过 80;各单词之间仅用一个空格分隔;不含多余空格。可自动按空格分词;记录单词数量k后,逆序输出;注意边界条件与空格输出逻辑;本题为基础输入处理与字符串数组操作,适合作为输入输出训练的入门题。
2025-07-05 15:01:08
388
原创 PAT 乙级题目讲解:1007《素数对猜想》
本题考察的是数论中的一个经典问题:素数对猜想。题目定义了所谓“素数对”是指一对相邻的素数,差值为 2,例如 (3, 5)、(5, 7)、(11, 13) 等。我们需要找出所有不超过给定正整数NNN的这样的素数对个数。本题是典型的素数筛法应用题。筛法的核心是:利用质因数性质反向标记合数。巧妙地从 3 开始,步长为 2 枚举可能的素数对,提高效率。注意标记逻辑中false才代表质数,这是很多初学者易错之处。
2025-07-05 13:59:40
761
原创 PAT 乙级题目讲解:1006《换个格式输出整数》
这是一道基础模拟题,要求将三位整数拆分为百、十、个位,并按特定格式输出。解题核心是整数数位拆解和格式化输出:百位用"B"表示数量,十位用"S",个位输出1到该数字的序列。视频详细演示了样例分析、解题思路(包括数位拆分和循环输出),并提供完整代码和常见错误提醒。最后提出扩展思考,讨论如何扩展到更多位数的情况。相关讲义在GitHub持续更新,适合算法初学者练习输入输出控制与模拟。
2025-07-03 22:50:59
273
原创 PAT 乙级题目讲解:1005 《继续(3n+1)猜想》
本题延续了 1001 题的“(3n+1)猜想”,但这次输入的是一组正整数,任务是找出这些数中“关键数”没有出现在其他数字的验证路径中的数。题目要求将所有关键数按从大到小的顺序输出。熟练掌握(3n+1)模拟建模;学会在路径遍历中构建覆盖集合;筛选出未被覆盖的“关键节点”;注重输出格式控制,避免低级失误。本题是集合判定与路径覆盖思想的结合实践,建议作为 1001 题的进阶练习来理解。
2025-07-03 15:39:54
701
原创 PAT 乙级题目讲解:1004《成绩排名》
给出若干学生的姓名、学号和成绩,要求输出成绩最高和成绩最低的学生信息。结构体定义 + 排序应用 + 信息提取能力熟悉结构体存储批量数据的使用方式;理解排序后访问边界元素的策略;提高读取、建模、排序、输出流程的完整思维链。
2025-07-03 13:17:12
239
原创 PAT 乙级题目讲解:1003《我要通过!》
输入若干字符串,判断它们是否满足“PAT 判题系统”的合法构成规则。字符串仅包含PAT三种字母;满足结构:形如xPATx,其中x可以是空或只包含若干个A;若aPbTc合法,则aPbATca也合法,其中abc均为空或由A构成。模型抽象 + 字符处理 + 数学约束验证结构识别能力:字符串模式的拆分与定位;数学模型归纳:抽象为乘法关系;字符串遍历与索引处理的细致性检验。
2025-07-01 22:29:08
608
原创 PAT 乙级题目讲解:1002《写出这个数》
给定一个不超过 100 位的正整数,求其各位数字之和,并将每一位用拼音输出。拼音之间用空格分隔,最后一位后不带空格。输入处理 + 数位拆解 + 映射输出的综合练习。学会使用字符串处理大整数;掌握数字 → 拼音的映射构造方法;提高输出格式控制与边界判断能力。
2025-07-01 22:18:03
378
原创 PAT 乙级题目讲解:1001《害死人不偿命的(3n+1)猜想》
状态转移模型的入门题。掌握最基础的“当前状态 → 下一个状态”模型;理解循环控制结构与终止判断;学会使用变量精简和运算优化技巧(如直接合并/2。
2025-07-01 22:12:33
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人