PAT
HxShine
这个作者很懒,什么都没留下…
展开
-
PAT 1046 Sharing (25)(不同长度字符串交点)
题目1032. Sharing (25)时间限制100 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueTo store English words, one method is to use linked lists and store a word letter by letter. To save some space,原创 2016-08-29 16:35:33 · 496 阅读 · 0 评论 -
PAT 1041 Linked List Sorting (25)(链表排序)
题目1052. Linked List Sorting (25)时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA linked list consists of a series of structures, which are not necessarily adjacent in memory. We as原创 2016-08-30 09:00:47 · 359 阅读 · 0 评论 -
PAT 1040 Pop Sequence (25)(模拟stack)
题目1051. Pop Sequence (25)时间限制100 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueGiven a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and pop rando原创 2016-08-30 11:03:47 · 413 阅读 · 0 评论 -
PAT 1037 Find Coins (25)(dp子序列)
题目1048. Find Coins (25)时间限制50 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueEva loves to collect coins from all over the universe, including some other planets like Mars. One day she visi原创 2016-08-30 12:59:13 · 264 阅读 · 0 评论 -
PAT 1033 Shopping in Mars (25)(子序列)
题目1044. Shopping in Mars (25)时间限制100 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueShopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond原创 2016-08-30 16:40:46 · 337 阅读 · 0 评论 -
PAT 1025 Sort with Swap(0,*) (25)
思路 1.其实很简单,找到0放在哪个位置上,如果0就放在0的位置上,则找出后面的第一个出错的位置与之交换即可,如果0不在0的位置上,则把0与该应该在该位置上的点交换即可。 2.对于0不在0的位置上,例如,40213,排好序应该是01234,即0在1的位置上,则把0与1交换,得到41203,此时,1就在正确的位置上了,而此时0又要继续上述步骤。 3.对于0在自己位置上了,但是后面可能原创 2016-08-11 15:50:04 · 256 阅读 · 0 评论 -
PAT 1042 Path of Equal Weight (30)
题目题目描述解题思路 1.dfs遍历就行了,重点是要设置出一种结构,方便你进行遍历。 例如我这里结构如下: struct node { int value, father, sum; bool visited,isLeaf; vector<int> children; node() :value(-1),father(-1),sum(0),visi原创 2016-08-22 16:26:39 · 270 阅读 · 0 评论 -
PAT 1055 Mooncake (25)(贪心,最大利润)(待修改)(官网有个测试点通不过,不知到错在哪,下次再改好了)
官网1070. Mooncake (25)时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types of原创 2016-08-25 20:54:44 · 382 阅读 · 0 评论 -
PAT 1047 To Fill or Not to Fill (25)(高速公路加油问题)
题目1033. To Fill or Not to Fill (25)时间限制10 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者ZHANG, GuochuanWith highways available, driving a car from Hangzhou to any other city is easy. But since the原创 2016-08-29 12:27:24 · 657 阅读 · 0 评论 -
PAT 1050 Course List for Student (25)(选课)
题目1039. Course List for Student (25)时间限制200 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueZhejiang University has 40000 students and provides 2500 courses. Now given the student name list原创 2016-08-26 11:14:18 · 271 阅读 · 0 评论 -
PAT Counting Ones (30)
题目题目描述The task is simple: given any positive integer N, you are supposed to count the total number of 1's in the decimal form of the integers from 1 to N. For example, given N being 12, there are fiv原创 2016-08-22 13:10:15 · 414 阅读 · 0 评论 -
PAT 1061 Insert or Merge (25)
题目1061 Insert or Merge (25)解题思路 1.其实这种题不记得这些排序了根据题目也可以做出来。 2.判断。如果是插入排序,则要求找到一个数比后面的数大后,那么就证明这个数后面的都没排好续,如题目中1 2 3 7 8 5 9 4 6 0,这里8>5,那么后面的数都没排序,则都和原来的相同,否则将不是插入排序。 3.输出。Merge排序的下一步要注意一下,具体原创 2016-08-24 23:24:03 · 244 阅读 · 0 评论 -
PAT 1063 Count PAT's (25)
题目1063 Count PAT’s (25)解题思路 1.求出输入字符串s的第i个字母左边的P的个数p[i]和右边的T的个数 t[i] ,然后再遍历s,如果s[i]=='A',那么用这个A能组成p[i] * t[i]个PAT,最后把所有的相加起来就可以了。 2.sum可能很大,要用long型,输出的时候再初一mod就行了。 代码#include<iostream>#in原创 2016-08-24 21:25:35 · 248 阅读 · 0 评论 -
PAT 1049 Recover the Smallest Number (30)
题目PAT 1049 Recover the Smallest Number (30)解题思路 1.对于56和345俩个数,56345>34556,要找到最小值,所以排序的话应该要把345放在56前面,即依靠这个(如果A+B>B+A,那么B排序就应该排在A的前面)对所有给出的数字进行排序。 2.排在最前的数字,如果有0则去掉,排在后面的第一个为0也不能去掉,例如:2 001 002原创 2016-08-24 19:19:40 · 270 阅读 · 0 评论 -
PAT 1031 Shuffling Machine (20)
题目题目描述Shuffling is a procedure used to randomize a deck of playing cards.Because standard shuffling techniques are seen as weak, and in order toavoid "inside jobs" where employees collaborate with g原创 2016-08-11 20:55:16 · 208 阅读 · 0 评论 -
PAT 1027 Speech Patterns (25)
思路 1.分词,用char[]储存输入数据,gets(a)输入一行数据,s=s+a(i)//(string 的性质)划分并组合成单词。 2.统计,用map<string,int>统计数据即可。 自己出错的地方 1.char a[]是用gets(a)输入,不是cin>>a,是用strlen(a)统计长度不是用sizeof(a)。 2.用isalnum判断是否为字母或者原创 2016-08-11 18:38:40 · 222 阅读 · 0 评论 -
PAT 1059 Perfect Sequence (25)(dp完美序列)
题目1059 Perfect Sequence (25)解题思路 1.先排序然后找出每个点的最大长度。 2.对于起点i,假设循环找到的最后一个满足条件的位置 j >= i,那么对于起点为 i+1 ,j也会满足,例如排好序后序列为:1 2 3 4 5 6 7 8 9 20,p = 8,对于i = 0,那么最后一个满足条件的位置为 i = 7,即数字8,那么对于起点为 i+1,显然a[原创 2016-08-25 12:10:15 · 2427 阅读 · 0 评论 -
PAT 1051 Longest Symmetric String (25)(对称字符串)
题目 1.牛客网 2.官网 解题思路 1.暴力对每个s[i]求解俩边能对称的个数,然后去最大值。 2.注意分为奇偶俩种情况,例如12321 和 123321。 3.char s[1001];cin.getline(s,1001);用这种方式输入一行字符串。 代码#include<iostream>#include<string>#include<vec原创 2016-08-25 22:35:44 · 282 阅读 · 0 评论 -
PAT 1028 Gas Station (30)
题目题目描述A gas station has to be built at such a location that the minimum distance between the station and any of the residential housing is as far away as possible. However it must guarantee that all原创 2016-08-16 19:25:21 · 268 阅读 · 0 评论 -
PAT 1030 Be Unique (20)
思路 1.简单题,map统计个数,vector<int> a(n),a(n)用来”先序“输出。 我出错的一些点 1.忘记输出为”None“的情况了。 代码#include<iostream>#include<vector>#include <map>using namespace std;int main(){ int n; map<int, i原创 2016-08-11 19:22:09 · 203 阅读 · 0 评论 -
PAT 1017 Stack (30)
思路 1.蛋疼菊紧,思路什么的理清了,答案还不正确,下回再查好了。 2.其实本来可以用一个数组a[]来记录每个值出现的次数(范围从0 – 10^5的个数),然后统计和就能很方便的求出中值了,但是由于数组太大,这样遍历即使是o(n)也受不了。 3.所以接下来这个树状数组的目的就是为了方便求前n项和,注意这里存的是c[],而不是a[]了,俩者的差别看这篇博客。http://www.cp原创 2016-07-25 10:50:10 · 313 阅读 · 0 评论 -
PAT 1015 Graduate Admission (30)
这道题谁帮我找出那个bug,好想请那个人吃饭,有俩分没通过。思路 1.首先把俩个结构体的元素想好,比如多一个rank,感觉比较的话就方便很多。 2.quota配额,囧…. 3.总的来说就是先排好序,然后看学校满没满以及lastrank取人就是了。 我出错的一些点 1.难道不能用>?,<可以用,是sort默认是从小到大的原因吗? 2.bool cmp(const原创 2016-07-20 15:29:36 · 355 阅读 · 0 评论 -
PAT 1023 A+B and C (64bit) (20)
思路 1.`long 32 (-2^8,2^8-1); longlong 64 (-2^32,2^32-1); long double 128 (-2^127,2^127-1); 我出错的一些点 1.不熟悉这些范围 代码#include<iostream>using namespace std;int main(){ long double a, b, c;原创 2016-07-27 14:11:22 · 212 阅读 · 0 评论 -
PAT 1022 Complete Binary Search Tree (30)
思路 1.a[n]可以用来装这棵树,a[0]到a[n-1]输出的话就可以看作是bfs输出,关键是要标记出a[0]到a[n-1]应该把第几个数(已经排好序)输出。 2.叫记住,对于a[i],他的左节点是a[2*i+1],右节点是a[2*i+2],并且只要其节点值小于n即可,所以就可以通过中序遍历给a[i]赋值。因为中序遍历就是会满足二进制搜索树的性质的。 3.按照上述结果输出就行了。原创 2016-07-27 11:50:53 · 250 阅读 · 0 评论 -
PAT 1021 Set Similarity (25)
思路 1.首先要知道c++里面有个set,他可以保存不重复的数字,这样就好办多了,set数组的用法为:set<int> a[52]。 2.接着要找出里面相同的项: for (it = a[u].begin(); it != a[u].end(); it++) { //遍历u,然后从v中找到it则cnt++ if (a[v]原创 2016-07-26 17:55:35 · 220 阅读 · 0 评论 -
PAT 1020 Are They Equal (25)
思路特殊输入有 0.000 0.0123 123.02 123402 1.找到’.’的位置,.是第几个就代表指数项e是几,除了俩种情况即无小数点123402(返回-1)和<1的数 2.对于无小数点的,e就等于它的长度,对于<1的数,要数除去小数点后有几个0,然后就减去几(例如0.0123 = 1 - 2 =-1,即表示为0.123时指数为-1),再对于0.000 这种情况,直接令其指数原创 2016-07-26 11:29:42 · 211 阅读 · 0 评论 -
PAT 1019 Prime Factors (25)
思路 1.看着挺简单的一道题,还是错了很多地方。 2.分成三个部分,输入为1,输入为质数,输入不为质数,前俩者输出自己就行了。 3.当输入不为质数时,当a>1是就继续更新a,怎么更新呢,能整除就整除,即a=a/k(当a%k==0)时,那怎么统计个数呢,则当a%k==0,一直成立的时候,就一直更新,并且num++; 4.算一个就可以输出一个了,没必要用一个东西来保存。 我出原创 2016-07-25 15:33:02 · 296 阅读 · 0 评论 -
PAT 1018 A+B in Hogwarts (20)
思路 1.这道题太简单 我出错的一些地方 1.scanf(“%ld”),是ld,不是l。 2.进位的时候=最大值了就要进位了。 代码#include<iostream>using namespace std;int main(){ long a1, b1,c1=0; int a2, b2,c2=0, a3, b3,c3=0; scanf_s("原创 2016-07-25 11:37:43 · 260 阅读 · 0 评论 -
PAT 1016 Mice and Rice (25)
思路 1.这个问题有点烦,感觉可以总结一下 2总结就是当下一轮还大于1的话,继续往下分 3.首先每p个找出最大的值m以及m_id 4.然后把这个最大的id装到原来的order中,用num计数 5..更新remain,记得其他的的排名要在原来的基础上加next,即剩下的个数。 我出错的一些点 1.不想吐槽了,这道题每个英文单词每句话都看懂了,就是没理解题目是什原创 2016-07-24 11:44:34 · 181 阅读 · 0 评论 -
PAT 1026 Find More Coins (30)
PAT 1026 Find More Coins原创 2016-08-16 10:55:48 · 297 阅读 · 0 评论 -
PAT 1032 Is It a Binary Search Tree (25)
题目题目描述A Binary Search Tree (BST) is recursively defined as a binary tree whichhas the following properties:The left subtree of a node contains only nodes with keys less than the node's key. The rig原创 2016-08-19 10:20:00 · 251 阅读 · 0 评论 -
PAT 1014 Total Sales of Supply Chain (25)
思路 1.感觉还是主要理解题目的意思吧,慢慢看题,不要着急。 2.题目中,kj=0表示第j个元素是零售商,然后后面给出的是这个零售商的销售量。 3.求出他是第几层然后求和就行了。 我出错的一些点 1.树的层数,自下而上也可以看level(第几层),且这道题用father[]省空间 2.原来用int,但是输入的类型是double,后面就不会再接受cin的输入了我的原创 2016-07-20 10:12:01 · 300 阅读 · 0 评论 -
PAT 1013 Hashing (25)
PAT 1013 Hashing(25)思路 判断msize是否为质数,如果不是给出大于他的最小的质数。 如果n%msize这个坑已经被占满了,则找下一个坑n=n+i^2,直到i我出错的一些点 1.是n加一个数,不是除数加,弄到我浪费了好久 2.我的天,1不是质数 代码#include <iostream>#include <string>#include <v原创 2016-07-19 16:53:39 · 206 阅读 · 0 评论 -
PAT 1098 Insertion or Heap Sort (25)(待修改)
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,原创 2016-06-15 14:32:55 · 228 阅读 · 0 评论 -
PAT Consecutive Factors (20)
题目描述Among all the factors of a positive integer N, there may exist several consecutive numbers. For example, 630 can be factored as 3*5*6*7, where 5, 6, and 7 are the three consecutive numbers. No原创 2016-06-06 16:30:17 · 569 阅读 · 0 评论 -
PAT 1097 Deduplication on a Linked List (25)
题目描述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 val原创 2016-06-10 23:08:50 · 329 阅读 · 0 评论 -
PAT The Largest Generation (25)
题目描述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.原创 2016-05-31 14:57:41 · 428 阅读 · 0 评论 -
PAT Acute Stroke (30)
题目描述One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the results of image analysis in which the core regions are identified in each MRI slice切片, your jo原创 2016-05-30 21:39:18 · 560 阅读 · 0 评论 -
PAT 1034 Favorite Color Stripe (30)(官网测试通过)
题目题目描述Eva is trying to make her own color stripe out of a given one. She would like to keep only her favorite colors in her favorite order by cutting off those unwanted pieces and sewing the remainin原创 2016-08-19 15:29:02 · 395 阅读 · 0 评论 -
PAT 1015 Graduate Admission (30)修改后
思路 1.就是排好序然后逐个取出就好了,锻炼自己的码代码的效率就好了,以后做啥事都得提高效率呀! 2.因为我这里sort排序后,储存的是i的话,最后输出是要对id进行排序,不方便,所以我就把id也存进去了,后面直接排序输出。 我出错的地方 1.这种方式记住student(int x) :ge(0), gt(0), total(0), id(-1), choice(vec原创 2016-07-23 23:14:31 · 240 阅读 · 0 评论