
PAT刷题日志
如椽大笔_S686
这个作者很懒,什么都没留下…
展开
-
1014 Waiting in Line (30分)测试点分析
本题就是一个模拟题,较复杂,理清思路还是问题不大。不过这个题目有点坑的地方,比如如果一个顾客正在被服务,但是银行下班了,那么应该继续为该顾客服务,直到顾客完成需求。如果不考虑这一点,测试点2,4,5都无法通过。这个题目肯定需要用到队列,不过本人擅长vector,于是始终用vector的操作代替queue。附上本人代码#include<iostream>#include<vector>using namespace std;vector<int>arr[20原创 2020-05-24 21:27:25 · 743 阅读 · 1 评论 -
PAT刷题日志 2020/4/28
继续写了一个:1072 Gas Station (30分)同Dijistra算法可以解决,不过这个题我考虑的是用vector来保存符合要求的结果,然后再遍历vector找出最优解,不过我最开始考虑的时候少考虑了保存下标,导致只有两个测试点可以过,修改后只有最后一个测试点,我实在想不出来为什么出错,于是就提交到了牛客网,发现是我想多了,对数据矫枉过正了,题目不需要四舍五入,好吧。最后一个:108...原创 2020-05-01 09:38:43 · 204 阅读 · 0 评论 -
PAT刷题日志 2020/4/27
为了参加5/1的PAT模拟,只能是再来熟悉一下手感,最近在复习数学,没有怎么刷算法。鉴于上次进度刷到了图部分内容,但是长时间没有接触,导致忘得差不多了,不妨再次从图部分内容开始学习。最近准备把甲级乙级题目整理一下,把最优代码整合起来。第一题:A1003点评:标准Dijikstra算法+点权+边权。对于初学者本人建议 不要写点权,直接做最简单的工作,就是按标准算法实现找 单点到所有点的最短...原创 2020-04-28 10:32:44 · 149 阅读 · 0 评论 -
PAT刷题日志 2020/2/29
今天主要熟悉了Dijistr算法求最短路径以及点值,边权值的处理。即给定一点v1,求到另外一点v2的最短路径数量,以及在最短路径下,最大点权值 :1003 Emergency (25分)首先需要保存图,在这里涉及到边权,最好是用二维数组进行保存,点的权值另开线型数组按顺序保存。其次要保存每个点在当前最短路径下所能用到的最大权值,还要保存到这个点的路径个数,涉及到相同权值的路径要累加。...原创 2020-02-29 22:50:34 · 153 阅读 · 0 评论 -
PAT刷题日志 2020/2/21
第一题:1034 Head of a Gang (30分)昨天的题我没拿满不甘心啊,毕竟思路我觉的没问题,我看了算法笔记,感觉其实也差不多,他是用的两个dfs,然后我就想办法去牛客网套测试点,我发现了我3个测试点出错的原因。一,题目给的1000个是指的通话记录,1000个通话记录可能会产生2000个人,所以数组开小了,就是导致段错误的原因。二,名字问题,很多时候题目告诉的输出顺序按名字排序...原创 2020-02-21 20:36:30 · 230 阅读 · 0 评论 -
PAT刷题日志 2020/2/20
开始图的部分:第一题:1013 Battle Over Cities (25分)这个题目大意就是给出一个无向图,现在每次删除其中的一个点,然后问剩余部分需要添加几条边才能连接起来,相当于计算剩余部分的连通区域个数,其实可以用dfs进行遍历,遇到删除点就return停止,然后访问过的点设置为true,然后连通区域个数+1,这样遍历完一遍图就可以统计出来互相独立的连通区域个数。不过对于这个题我第...原创 2020-02-21 11:07:49 · 171 阅读 · 0 评论 -
PAT刷题日志 2020/2/19
今天仔细学习了AVT树的调整,彻底理解了他的原理以及调整方法,通过1066 Root of AVL Tree (25分)得到了巩固。这个代码要熟练,很快就能写出来。又看懂了并查集,瞬间感觉这个很有意思,并做了1107 Social Clusters (30分)对应的题目,感觉算是入门了,但是我发现在数据量一般的情况下,压缩路径似乎并没有太大作用。1040 Longest Symmetric ...原创 2020-02-19 22:20:26 · 231 阅读 · 0 评论 -
PAT刷题日志 2020/2/15
第一题:1064 Complete Binary Search Tree (30分)二叉搜索树建立相关问题,要求对给定数列建立完全二叉搜索树,并输出层序遍历结果,这个题就需要充分利用二叉搜素树的特点,因为给定序列并不是建树顺序,二叉搜索树不唯一,但是完全二叉搜素树是唯一。同样对于顺序存储的二叉树,其本身就是按照层序存储,二叉搜索树中序遍历为有序数列,即利用这两个特点,用中序遍历的方式进行建树,就...原创 2020-02-15 20:47:58 · 166 阅读 · 0 评论 -
PAT刷题日志 2020/2/13
1043 Is It a Binary Search Tree (25分)遇到的首个二叉查找树的题目,首先题目给出先序遍历,要求判断该树是不是二叉查找树或者镜像二叉查找树。首先我对相关知识点并不熟悉,一开始我想着利用该树的特点:中序遍历是有序数列。通过对输入序列排序,获得中序,根据树的知识,两个遍历可以确定一棵树,继而实现题目要求。然而我忽略了一个问题,这里的数据是可以重复的,而根据两种遍历顺...原创 2020-02-13 20:07:10 · 166 阅读 · 0 评论 -
PAT刷题日志 2020/2/11
第一题:1053 Path of Equal Weight (30分)30分的树遍历题,写了一个接近一个小时,提交了一次就拿到了27分,但是我测试点1段错误,DFS溢出,这个问题收集起来,等到了后期专项优化这方面。...原创 2020-02-11 21:03:22 · 171 阅读 · 0 评论 -
PAT刷题日志 2020/2/9
第一题:1079 Total Sales of Supply Chain (25分)这个我是想到用线型处理,避免用深度或者广度遍历标记节点,这确实是一种好方法,不过问题是题目给出的输出顺序并不是顺序输入,意味着可能第一次就输入了最后一个节点信息,这时候该节点的前一个节点是未知的,所以需要变换一下。不变换提交除了标准测试案例过不了,其余所有测试点都能过,一开始遇到这个情况真是让我大开眼界,标准案例...原创 2020-02-09 23:10:05 · 317 阅读 · 0 评论 -
PAT刷题日志 2020/2/5
第一题:1020 Tree Traversals (25分)图和树不可以畏惧,这个题仔细研究了一下,还是学到了很多,这个题目的要求就是根据后序遍历和中序遍历,求先序遍历。首先我企图利用后序遍历,直接用end既保持了区域完整又可以确定当然处理元素(最后一个),事实证明这样是很有问题的,虽然能通过大多数测试点;其次就是关于time的计算,也就是层,这个需要用多倍权值,并且使得左边权值小于右边,...原创 2020-02-05 22:44:48 · 213 阅读 · 0 评论 -
PAT刷题日志 2020/1/31
第一题:1091 Acute Stroke (30分)学习BFS的好题目。原创 2020-01-31 23:16:54 · 134 阅读 · 0 评论 -
PAT刷题日志 2020/1/30
第一题:1052 Linked List Sorting (25分)这个比链表反转简单很多,最后一个测试点是隐藏的0个结点的情况,摸索一下就出来了。第二题:1097 Deduplication on a Linked List (25分)还是链表,记得在遍历vector的时候谨慎使用erase函数,因为会改变vector里面的元素个数,也就是此时的i不一定是你以为的i。/---------...原创 2020-01-30 22:17:25 · 286 阅读 · 0 评论 -
PAT刷题日志 2020/1/29
第一题:1051 Pop Sequence (25分)这个还是栈的题,已经做过很多次了,还是找规律大于暴力解题!第二题:1056 Mice and Rice (25分)这个题类似于每K个数进行排序的做法,长时间不写代码,很多都忘记了,这个循环借助了队列的思想,还是很不错的题目。第三题:1074 Reversing Linked List (25分)这个链表反转也是做过很多次了,一开始写复...原创 2020-01-30 10:21:31 · 167 阅读 · 0 评论 -
PAT刷题日志 2020/1/28
修改昨天的字符串harsh第一题:1047 Student List for Course (25分)果然是水平不够,我改了两种方式还是做不到解决最后一组数据超时参考了算法笔记,这个竟然和字符串harsh无关,因为这个可以直接用空间换时间。大量字符串需要处理时,最好用c语言的string而不用c++的string,cin效率过于低下,而且关键是这个题目排序很重要,如果直接对字符串排序,需要...原创 2020-01-28 18:01:24 · 154 阅读 · 0 评论 -
PTA刷题日志 2020/1/27
第一题:1096 Consecutive Factors (20分)类似于数学问题,求最大长度子列乘积,所有子列必须满足都小于等于sqrt(N),因为sqrt(N)*sqrt(N)=N,所以只需要从2遍历到sqrt(N)然后逐项相乘,如果成绩不能被N整除就放弃循环,重新开始。第二题:1059 Prime Factors (25分)类似于上提解法,坑点是特判N=1.第三题:1039 Cour...原创 2020-01-27 18:36:22 · 2280 阅读 · 0 评论 -
PAT刷题日志 2020/1/20
天真冷,冻~第一题:1049 Counting Ones (30分)这是一个30分的数学题,我推导了10分钟,利用统计规律写出来一个解,提交只拿到了16分,关键是我完全不知道为什么错误 了,参考了柳神代码,感觉思路清晰,值得学习。第二题:1081 Rational Sum (20分)这个题就是乙级那个两个分子计算的升级版,多个分子计算,有了以前的sscanf很容易解决,还有scanf对lo...原创 2020-01-27 14:32:38 · 189 阅读 · 0 评论 -
PAT刷题日志 2020/1/18
最近感冒了,人不舒服,写代码好难受。第一题:1104 Sum of Number Segments (20分)这题就是找规律,我写对了思路,还是有错的地方,主要是在对double写值的时候,对于非double数据,需要进行类型转换!...原创 2020-01-18 17:47:04 · 169 阅读 · 0 评论 -
PAT刷题日志 2020/1/17
第一题:1093 Count PAT’s (25分)这是个做过的题,我这次采用了优化过的复杂度为n的算法,只需遍历一次即可得到答案是算法,也算是有所收获。第二题:1101 Quick Sort (25分)这个复杂度很低了,但是我看了一下自己以前的解法,感觉以前的自己竟然能想到那么巧妙的解法,惊艳到我了。...原创 2020-01-18 16:42:00 · 171 阅读 · 0 评论 -
PAT刷题日志 2020/1/16
第一题:1085 Perfect Sequence (25分)教做人系列,二分查找题;给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。这个题怎么做?很显然能想到的就是先把数按从小到大排序,然后从头和尾向中间扫描,也就是所谓的two pointers思...原创 2020-01-16 22:19:38 · 279 阅读 · 0 评论 -
PAT刷题日志 2020/1/15
第一题:1067 Sort with Swap(0, i) (25分)一开始我理解错了题意,所以怎么也想不明白标准案例,后来参考了算法笔记的中文翻译,顿时这个就很简单了。第一次尝试用模拟,发现两个测试点超时,于是进行了第一次找规律,似乎第一次写的也很菜,一个解决了超时,但是另一个出错了,稍微测试发现了出错的地方,修改以后除了一个超时,其余AC。...原创 2020-01-16 11:53:02 · 204 阅读 · 0 评论 -
PTA刷题日志 2020/1/14
第一题:1033 To Fill or Not to Fill (25分)这个是个贪心算法,我想到就是不断找最便宜的且最近的车站,但是这个还要涉及,如果下一个应该去的最便宜的车站价格比当前车站贵,应该加满,涉及有点复杂。待完善。第二题:1037 Magic Coupon (25分)这个题属实是一个简单贪心算法,但是我一开始用set保存...原创 2020-01-15 12:53:30 · 212 阅读 · 0 评论 -
PAT刷题日志 2020/1/13
第一:1095 Cars on Campus (30分)继续修改之前的题,这个思路闭塞,想了半天想出来一个很复杂的解决办法,最终还被vs对multimap不支持string最为键给拦下,参考算法笔记思路,按自己的方法去实现,写到后半部分数据测试出了一点点小问题,于是就反思了一下,发现自己喜欢用用set自动排序,重写结构体运算符<进行比较,但是这样必须要考虑一个问题,是否存在重复数据!,其实...原创 2020-01-14 08:32:45 · 186 阅读 · 0 评论 -
PAT刷题日志 2020/1/12
颓废了好几天了,继续撸代码。第一题:1080 Graduate Admission (30分)简单的结构体排序,主要是信息有一点点多,其余还好,常规解法。一次提交直接AC。1095 Cars on Campus (30分)思路写出来了,但是没解决出来,晚上不太适合我写程序,还是白天写吧。...原创 2020-01-12 20:58:18 · 144 阅读 · 0 评论 -
PAT刷题日志 2020/1/7
今天状态比较差,只写了三道题还留了一个小尾巴① 1055 The World’s Richest (25分)写了很久很久,有一个测试点超时鞋了很长时间去优化,不过也学到了很多东西。② 1075 PAT Judge (25分)这个一开始有两个测试点没写出来,后来搜了一下,解决了一个,原因是没有区分提交状态的-1和原本成绩的0,还有最后一个测试点没有解决。③1083 List Grades ...原创 2020-01-07 21:06:44 · 170 阅读 · 0 评论 -
PAT刷题日志 2020/1/6
2020/1/6今天日常刷题。第一题:1058 A+B in Hogwarts (20分)这个实际上是已经做过的B级的1024题,思路很简单,就是进制转化,但是我还是遇到了一个测试点错误,而且这个我和1024题出现的错误一毛一样,用int存储初始值都会导致这个测试点过不了,结果我也考虑了long long存储,可是题目明明说的最大取107…行吧,以后要是思路感觉没毛病,还是有错误,就不妨试一...原创 2020-01-06 21:54:12 · 168 阅读 · 0 评论 -
PAT刷题日志 2020/1/5
2020/1/5今天结束了所有手头的事情,想到报名了今年3月7日的PAT甲级考试,赶紧重新开始了刷题。目前的状态大概是基本的算法,(除了树,图类以及相关算法不熟悉,其他基本上已经掌握了个大概),我计划按照算法笔记上机指南所提供的顺序,从前到后从浅到深。由于之前我大概已经刷了25个左右的题,就直接按照那个顺序继续刷了。主要是做的是模拟类的题目。提交第一个题目:1042 Shuffling Ma...原创 2020-01-06 21:42:55 · 214 阅读 · 0 评论