PAT竞赛
文章平均质量分 58
ProfSnail
联系方式:zhangwenniu@163.com
Github:https://github.com/zhangwenniu
展开
-
1153 Decode Registration Card of PAT (25分)附测试点1、4分析
本题为PAT的甲组1153题,也是PAT的乙组1095题,此前写过一篇博文讲过乙组1095题(参见1095 解码PAT准考证 (25分)击破测试点3、4,50ms内通关),当时使用的是字符串作为键值进行处理,可以正确通过测试点1、4。本次采用的是atoi函数将字符串转为int数字作为键值进行处理,碰到了测试点1、4的错误。测试点1、4的问题在于有查询过程中有可能出现的前导零,输出时候需要原样进行输出。即查询时遇到2 0010107需要输出Case 3: 2 0010107NA而非Case 3:原创 2021-01-22 13:55:41 · 1125 阅读 · 2 评论 -
1151 LCA in a Binary Tree (30分) 最近相同祖先节点
原题目参见1151 LCA in a Binary Tree (30分) 此题紧邻着1143题,1143题的分析见我上一篇博客(1143 Lowest Common Ancestor (30分) 附测试点分析)。由于相比于1143题的二叉查找树,此题变为了普通的二叉树,所以对二叉树进行DFS遍历查询,每次查询的时间都为O(n),必定超时。题干保证每个节点间的数据各不相同,因此创建二叉树的时候设置一个map映射,将原创 2021-01-22 11:30:44 · 189 阅读 · 0 评论 -
1143 Lowest Common Ancestor (30分) 附测试点分析
原题目参见:1143 Lowest Common Ancestor (30分) 思路:查找第一个数的过程中标记所有访问过的节点。在查找第二个数的时候,所有访问过的路径节点,如果被第一个数字访问过,则说明这个节点是两个数字的共同祖先,将答案更新为此节点,直至最深处的一个共同节点,该答案即为所求。 因为第一个数据访问的路径原创 2021-01-21 22:20:01 · 435 阅读 · 0 评论 -
1135 Is It A Red-Black Tree (30分) 红黑树判定
原题目参见1135 Is It A Red-Black Tree (30分),要求判断一个树的先根序列是否能构成红黑树。由于红黑树是搜索二叉树,所以给定一个先根序列,可以唯一生成一棵搜索二叉树,如果无法生成搜索二叉树,则判否。再由题目给的红黑树的生成条件,判断该序列是否为合法的红黑树。(1) Every node is either red or black.(2) The root is black.(3) Every leaf (NULL) is black.(4) If a node is原创 2021-01-20 23:23:13 · 208 阅读 · 0 评论 -
1095 解码PAT准考证 (25分)击破测试点3、4,50ms内通关
1095 解码PAT准考证 (25分)测试点34用时低于35ms题目前言一、题目简介二、原题内容1. 设定2. 输入格式3. 输出格式三、题目分析1. 要求1分析2. 要求2分析3. 要求3分析总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流原创 2021-01-08 03:49:55 · 620 阅读 · 1 评论 -
1051 Pop Sequence (25分)判断出栈队列合法性。附多组测试样例,及生成测试样例的代码
1051 Pop Sequence (25分)用状态转移方程来解,附多组测试样例及生成测试样例的代码前言2.AC代码如下2. 生成测试数据的代码大量测试用例前言题目不再赘述。目前本题大部分用的是stack模拟出栈的合法性。本文用状态转移方程做了一波,并给出多组测试用例,以及可以用来生成测试样例的代码。例如不合法序列:1 2 3 4 7 5 6目前考察元素5的出栈情况。对于每个将要出栈的元素(5)而言,应当满足:该元素左边的元素(1,2,3,4)可以部分已经出栈,但是剩余元素的个数不得大于栈的深度5原创 2021-01-13 02:33:22 · 492 阅读 · 0 评论 -
1114 Family Property BFS连通分量和并查集两种做法
原题目参见:Family Property求成员个数,等价求连通分量个数。方法采用BFS,DFS遍历取总分量个数。#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <map>#include <set>#include <queue>#原创 2021-01-19 09:38:40 · 172 阅读 · 0 评论 -
1131 Subway Map,使用BFS方法通过。
原题目参见:1131 Subway Map (30分)不再赘述。每次查询时,将原图看做一棵以起点为根节点的树,进行层次遍历(使用BFS)。记录下首次由层次遍历经过目的节点的路径深度,遍历到下一层时退出循环。由于是逐层遍历的,初次出现目的节点时的深度就是最短路径长度。注意一点, 原题目中有一句话:Each station interval belongs to a unique subway line.这句话的意思是,2333号站到1204号站之间,只可能有一个线路的车辆通过。也就是说这条线路可原创 2021-01-20 15:33:43 · 189 阅读 · 0 评论