PAT (Advanced Level) Practice
陈子二
这个作者很懒,什么都没留下…
展开
-
PAT (Advanced Level) Practice_1079 Total Sales of Supply Chain (25 分)_(含题目翻译及解读)
题目地址题目翻译及解读: 商品供应链是由 零售商、经销商和供应商构成,其中每一个都参与了商品从供应商到消费者的流通过程。 从一个供应商开始,供应链的成员都是以价格P从供应商处购买,并以高出P的r%的价格进行分销或者贩卖。且只有零售商会和消费者直接进行交易。这里我们假设供应链的每个成员除了根节点供应商外就只有一个其他供应商,并且这里并不存在供应循环的关系。现在,给出一条供应链...原创 2019-07-24 10:44:54 · 715 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1003 Emergency (25 分)_关于深入理解dijkstra的典型题目
题目地址 题目分析:在简单学习dijkstra后,理解层次可能是仅仅停留在了 一步一步望外走 来求最短路径。但这道题目非常好的打开了dijkstra算法的细部构造。 我们不妨将dijkstra看成三个集合,第一个为已经收录集合,第二个是可收录集合,第三个是暂时无法收集集合。 dijkstra算法有两个核心工作:第一个工作是将第二个集合挑出最小到第一个集合;第二工作是通过最新收录的元素可能把...原创 2019-08-28 17:01:27 · 238 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1034 Head of a Gang (30 分)_字符串型的map构建
题目地址 题目分析:这道题目,考察的内容其实较为繁琐,但是理清思路后,也不见得繁琐了,注释见代码中。 我的代码: #include<iostream>#include<string>#include<map>using namespace std;int n, k, aa[2001][2001] = { 0 }, weight[2001] = ...原创 2019-08-24 10:56:08 · 155 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1057 Stack (30 分)_利用两个set的解法(小白解法)
题目地址 题目分析:这道题目,解法很多,值得考究,这里提供一种小白解法--利用两个set来模拟出平衡的节点左右两坨。 我的代码:#include<iostream>#include<set>#include<stack>using namespace std;multiset<int>e1, e2;stack<int>...原创 2019-08-14 19:19:03 · 156 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1091 Acute Stroke (30 分)_含翻译
题目地址 题目解析:现在发现读题确实是一个值得认真考虑的问题!其次这道题目我将给出两种解答,只是上下左右位移方式的操作变化。(感谢LiuChuo) 题目翻译如下: 急性脑卒中 识别急性脑卒中的重要手段之一是根据中风核心的体积来判定。题目给出一个定义于每个MRI切片的核心区域分析的图像结果,你需要计算出中风核心的体积。 输入格式: 每个输入文件包含一个测试案例。在每个测试案例中...原创 2019-08-02 10:49:23 · 216 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1103 Integer Factorization (30 分)
题目地址 题目分析:这里剪枝最关键的一步,是在于解决已经出现过的情况,因为位置的变化会再次出现。经过分析可以知道,从可以取的最大元素开始,我们以后再取也只能取等于小于它的元素,不能取更大的元素了。(否则必然大于n值,就是说可以取的大的元素被取走了,不可能再取比被取的元素更大的了,一取就大于了n。)这里我用了use来控制选取元素不能比前面大。现在一想,题目的输出要求其实就是在暗示我们...原创 2019-08-01 10:23:53 · 109 阅读 · 0 评论 -
PAT (Advanced Level) Practice_推荐C++解答范本
继PAT乙级的甲级,题目的难度有明显的提升,利用C语言解答题目,某些题目无法取得简洁而高效的解答。因此,安利不会C++的同学可以使用 《从C语言转C++简明教程 v5.0+》柳婼 进行快速的入门学习,此外再去MOOC上的计算机程序设计(C++) 课程学习一下第十四周的STL,就可以获得非常愉悦的C++解题体验。当然进行系统学习是更好的。最后回到主题C++解答范本的推荐 即:柳婼CSDN ...原创 2019-08-05 08:10:03 · 527 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1064 Complete Binary Search Tree (30 分)_简洁而优雅的解法
题目地址 题目分析:利用二叉搜索树的特性,我们可以sort得到中序遍历结果,只需将这个中序遍历放入这个数目确认的完全二叉树即可。直接通过确认数目的完全二叉树的中序遍历,获得数组型完全二叉树的编号中序,而完全二叉树的data中序遍历结果已经存在了sort后的数组in当中。这里充分利用了各种树的特性,达到了简洁而优雅,哈哈哈。我的代码:#include<cstdio>...原创 2019-08-04 17:34:06 · 127 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1020 Tree Traversals (25 分)_1043 Is It a Binary Search Tree (25 分)
题目地址1;题目地址2 题目解析:这两道题目都可以对其给出的数字,根据树的特性进行划分左右子树,利用递归思路进行解题。值得进行学习,以便深入理解树的某些特性;过程当中有个需要认真思考的地方,在于递归的结束结点的处理。 就题目1020而言,根据后序中序找层序遍历的解题思路是,后序的末尾是妈妈树,然后在中序根据妈妈树划分左右子树,再递归执行这个过程。其中,我们一层一层的深入下去,其实产生了一个先...原创 2019-08-03 09:07:10 · 107 阅读 · 0 评论 -
PAT (Advanced Level) Practice_1018 Public Bike Management (30 分)_多种最短路径的再处理(记录前驱)
题目地址 题目分析:在dijkstra算法得到最短路径的过程中,利用pre记录最短路径的不同到达方式。再对pre进行DFS即可计算并比较need需要带去的车子和cap途中保留下来的车子(即带回的车子数目)。我这里的递归计算方式的逻辑建立在1、后面多的车子不会补充前面;2、前面多的车子后面可以补充。通过dif计算前一站的差值,再分析得到need和cap,继续递归到终点比较。 我的代码: #i...原创 2019-08-29 13:29:26 · 143 阅读 · 0 评论