PAT (Advanced Level)
文章平均质量分 74
Win_Man
这个作者很懒,什么都没留下…
展开
-
1046 Shortest Distance
解题思路:如果只是简单的记录各个点之间的距离,每次询问的时候进行计算的话,最后一个测试点会运行超时,于是就改成数组中记录的是,从一号点到当前点的总距离,查询的时候直接将距离相减就是正向的两个点之间的距离,反向的距离用总的环的距离减去正向两个点之间的距离就可,输出较小的距离。原创 2016-02-27 10:51:25 · 367 阅读 · 0 评论 -
1094 The Largest Generation
A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population.Input Spe原创 2016-02-26 11:00:20 · 408 阅读 · 0 评论 -
1102 Invert a Binary Tree
The following is from Max Howell @twitter:Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.Now it’s your turn to prove原创 2016-02-25 16:49:43 · 387 阅读 · 0 评论 -
1101 Quick Sort
There is a classical process named partition in the famous quick sort algorithm. In this process we typically choose one element as the pivot. Then the elements less than the pivot are moved to its lef原创 2016-02-25 15:51:25 · 459 阅读 · 0 评论 -
1011 World Cup Betting
With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in South Africa. Sim原创 2016-02-25 15:35:45 · 339 阅读 · 0 评论 -
1095 Cars on Campus
解题思路:首先对所有的记录进行筛选,保留能配对的记录,配对原则是选择时间距离最短的进行in-out匹配。对于查询,我是维护了一个数组,用于记录以秒为单位的每个事件点的状态,比如时间点x上有车进来,则对这一时刻进行++操作,有车出去则进行--操作。当查询的时候,从0开始直至查询时刻进行求和,就是当时在学校内停靠的车的数量。查询的时候不必每次都从0开始进行求和操作,因为题目说查询的时间是按照升序进行输入的,所以保留每次原创 2016-03-10 16:23:36 · 773 阅读 · 0 评论 -
1107 Social Clusters
When register on a social network, you are always asked to specify your hobbies in order to find some potential friends with the same hobbies. A “social cluster” is a set of people who have some of the原创 2016-02-25 15:02:00 · 723 阅读 · 0 评论 -
1076 Forward on Weibo
解题思路:一道广搜的题目,还算简单,就是根据题目输入记录下每个编号的用户的粉丝,这个跟题目的输入有点不一样的,题目给的是每个编号的用户关注的人的编号。查询的时候,从查询的用户编号开始,广搜,中间记录一下层的深度,超过规定深度L的就不用计算了。最后一个点应该是很多重复计算的用户的测试用例,因为一开始我的代码最后一个点一直内存超限,因为在遍历的时候没有判断重复,不断的就放到vector中,后来直接在遍历的过程中进行时候原创 2016-03-10 14:40:07 · 414 阅读 · 0 评论 -
1030 Travel Plan
解题思路:简单的最短路径问题,需要打印最短路径的dijkstra问题,只是需要用到两个二维数组分别记录,城市之间的距离和花费。还用了一个fa数组,用来记录,到当前城市的最短路径的上一个城市编号。用于最后方便输出路径。原创 2016-03-08 13:53:57 · 448 阅读 · 0 评论 -
1056 Mice and Rice
解题思路:这道题的题意有点混乱,第一行输入的是老鼠的数量,和每次匹配的数量,第二行输入的是编号0——n-1号老鼠的重量,第三行输入的是进行比赛的老鼠的编号的排列顺序。样例输入中第三行是6 0 8 7 10 5 9 1 4 2 3,就是6号,0号,8号老鼠一组。7号,10号,5号老鼠一组……,这题意混乱了我好久。看懂题目之后就比较简单了,模拟淘汰的顺序就好,只是在淘汰的过程中需要对老鼠进行排名,在某一轮中淘汰的老鼠的r原创 2016-03-06 20:56:02 · 418 阅读 · 0 评论 -
1064 Complete Binary Search Tree
解题思路:题意是需要将一串数字按照完全二叉搜索树的样子排列,然后再输出树的层次遍历。因为是完全二叉树,所以用一个一维数组就能表示一棵树了,因为二叉搜索树的中序遍历是将数字从小到大输出,所以先通过中序遍历,将完全二叉搜索树构造出来,然后将数组输出就行。原创 2016-03-06 13:35:54 · 414 阅读 · 0 评论 -
1034 Head of a Gang
解题思路:一道并查集的题目,名字用hash的办法变成int类型,所以开个26*26*26的s数组就行。用一个数组记录每个人总的通话时间,用于最后找出head。并查集找出团队,再在团队中找到通话时间最长的人就是结果。因为结果需要按字母序输出,所以我先将结果保存下来,排序之后再输出的。做题的时候并查集的压缩路径的地方写错了,导致测试点2 4一直答案错误,还是太粗心。原创 2016-03-06 10:40:45 · 368 阅读 · 0 评论 -
1096 Consecutive Factors
解题思路:不解的是用i*i<=n代替i<sqrt(n)会超时,实在不解。原创 2016-03-05 15:32:00 · 671 阅读 · 0 评论 -
1086 Tree Traversals Again
解题思路:与上一题一样,也是先根据输入构造二叉树然后进行后序遍历进行输出。只是这道题没有明确的给出前序遍历和中序遍历,中序遍历根据题目的输出模仿栈的压入弹出就可以得到,前序遍历的话需要自己想一下,其实就是压栈的顺序就是前序遍历。所以样例的前序遍历是:1 2 3 4 5 6,中序遍历是:3 2 4 1 6 5原创 2016-03-04 10:51:34 · 468 阅读 · 0 评论 -
1020 Tree Traversals
解题思路:根据题目给的后序遍历和中序遍历构建树,然后对数进行层次遍历输出结果。原创 2016-03-04 10:08:58 · 337 阅读 · 0 评论 -
1016 Phone Bills
解题思路:将所有的记录进行排序,先按名字的字母序排,相同之后时间从小打到排,这样同一个人的所有的记录都是在一起的方便处理。然后将同一个人的所有记录提取出来,进行配对计算输出,配对原则是按照距离最近的on-off配对。题目坑爹的一点是说每个输入一定至少有一对配对的,但是并不是每个人的记录都一zing至少有一对配对的,对于某些一对配对都没有的顾客不用输出。原创 2016-03-03 16:04:34 · 482 阅读 · 0 评论 -
1099 Build A Binary Search Tree
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key. The right subtr原创 2016-02-26 12:54:26 · 248 阅读 · 0 评论 -
1098 Insertion or Heap Sort
According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, fi原创 2016-02-26 15:10:59 · 420 阅读 · 0 评论 -
1077 Kuchiguse
解题思路:英语差是硬伤啊,做成了求最长公共字串,结果发现只是求最长的末尾后缀。原创 2016-02-27 14:34:08 · 371 阅读 · 0 评论 -
1090 Higest Price in Supply Chain
解题思路:根据输入构建一棵树,然后找一下树的最大深度原创 2016-02-27 15:18:10 · 478 阅读 · 0 评论 -
1075 PAT Judge
1.首先是没有提交和虽然提交过但是所有提交都是未通过编译的用户不用显示2.一道题如果只被未通过编译的提交过,那么最后显示的分数应该是03.一道题如果没有被提交过显示的才是-4.一道题如果已经通过编译提交过,后面可能还会有未通过编译的提交,需要考虑,不能覆盖结果5.多次满分提交的情况也需要考虑原创 2016-02-27 18:28:25 · 457 阅读 · 0 评论 -
1044 Shopping in Mars
解题思路:看到题目很顺手就写下来了,一提交,两个运行超时,一个内存超限,果然题目没那么简单,想了各种优化,没什么想法,网上找了一下都说是要二分,不想用二分,于是继续找,终于找到一篇文章是从n*n的复杂度上进行优化,用到了几个点是我没考虑到的。1.当i~j的区间上的和等于m之后,i+1~j区间上的情况就不用考虑了2.对于找不到等于m的情况,在找到某个区间i~j之和大于m之后,就可以跳出j的循环,从i+1为起点的区间原创 2016-02-27 21:17:12 · 546 阅读 · 0 评论 -
1106 Lowest Price in Supply Chain
解题思路:简单的广搜,当搜索到某一层有零售商的时候就停止搜索,但是要记录那一层所有零售商的数量。要测试root直接为零售商的结果,一开始没有想到,导致测试点1一直运行超时,因为死循环了原创 2016-02-28 10:12:02 · 660 阅读 · 0 评论 -
1078 Hashing
解题思路:坑爹的二次探测,一开始以为是一道很简单的题,结果还是被坑了,完全没有注意到冲撞处理策略,所以最后一个点一直过不了,后来看了别人的博客说要经过二次探测检测之后还是不能插入才输出“-”,不是一开始不能插入就直接输出“-”。too young二次冲撞检测就是,在i位置无法插入的情况下,进行i+1^2,i+2^2,i+3^2....依次递增的位置检测,如果检测到可以插入那就插入,一直找不到才输出“-”,网上别人定原创 2016-02-28 19:31:38 · 532 阅读 · 0 评论 -
1052 Linked List Sorting
解题思路:注意两个情况:不知一条链表,还有链表为空的情况,所以next属性是有用的。原创 2016-02-28 20:05:05 · 388 阅读 · 0 评论 -
1032 Sharing
解题思路:可能不止有两个单词的节点,可能存在一些混淆点,所以使用了标记数组,从root1开始遍历,将单词一所有的节点进行标记,然后从root2开始进行遍历,遇到节点是已经被标记过的,那就记下地址,然后跳出循环。最后输出结果。原创 2016-02-28 20:27:45 · 525 阅读 · 0 评论 -
1048 Find Coins
解题思路:真的是PAT虐我千百遍,我待PAT如初恋,很简单的一道题,开一个面值的数组,已面值为数组下标,存放该面值的硬币的数量,然后从i=1开始遍历,看m-i的面值的硬币是否存在,如果存在,直接输出就好了,需要考虑输出两个面值一样的硬币的情况。!!!重点来了!!!题目中说>The second line contains N face values of the coins, which are all po原创 2016-02-29 14:14:33 · 368 阅读 · 0 评论 -
1079 Total Sales of Supply Chain
A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)– everyone involved in moving a product from supplier to customer.Starting from one root supplier, everyone on the ch原创 2016-02-28 18:29:54 · 637 阅读 · 0 评论 -
1019 General Palindromic Number
A number that will be the same when it is written forwards or backwards is known as a Palindromic Number. For example, 1234321 is a palindromic number. All single digit numbers are palindromic numbers.原创 2016-02-27 10:30:07 · 321 阅读 · 0 评论 -
1015 Reversible Primes
A reversible prime in any number system is a prime whose “reverse” in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is also a pri原创 2016-02-27 10:03:19 · 318 阅读 · 0 评论 -
1023 Have Fun with Numbers
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number cons原创 2016-02-26 17:16:39 · 413 阅读 · 0 评论 -
1004 Counting Leaves
A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. InputEach input file contains one test case. Each case starts with a line conta原创 2016-02-26 16:55:09 · 269 阅读 · 0 评论 -
1097 Deduplication on a Linked List
Given a singly linked list L with integer keys, you are supposed to remove the nodes with duplicated absolute values of the keys. That is, for each value K, only the first node of which the value or ab原创 2016-02-26 15:52:43 · 317 阅读 · 0 评论 -
1003 Emergency
解题思路:最短路径的加强版,需要记录最短路径的数量,及最大权重,根据别人的代码写出来的。原创 2016-03-03 10:16:30 · 512 阅读 · 0 评论 -
1038 Recover the Smallest Number
Given a collection of number segments, you are supposed to recover the smallest number from them. For example, given {32, 321, 3214, 0229, 87}, we can recover many numbers such like 32-321-3214-0229-8原创 2016-02-01 19:24:26 · 408 阅读 · 0 评论 -
1050 String Subtraction
Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simply to calculate S1 - S2 for any given strings. However,原创 2015-11-21 10:10:13 · 327 阅读 · 0 评论 -
1051 Pop Sequence
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of t原创 2015-11-21 15:54:20 · 1044 阅读 · 0 评论 -
1028 List Sorting
Excel can sort records according to any column. Now you are supposed to imitate this function.InputEach input file contains one test case. For each case, the first line contains two integers N原创 2015-11-10 14:25:16 · 342 阅读 · 0 评论 -
1027 Colors in Mars
People in Mars represent the colors in their computers in a similar way as the Earth people. That is, a color is represented by a 6-digit number, where the first 2 digits are for Red, the middle 2 dig原创 2015-11-09 22:18:52 · 269 阅读 · 0 评论 -
1065 A+B and C(64bit)
Given three integers A, B and C in [-263, 263], you are supposed to tell whether A+B > C.Input Specification:The first line of the input gives the positive number of test cases, T (Output原创 2015-11-10 14:26:21 · 428 阅读 · 0 评论