随笔分类 -  PAT甲级

摘要:好几天没做题了...这一道题用的是贪心。贪心是一种思路,每一步都要做到最优,一步步实现局部最优,从而实现整体最优。思路参考了算法笔记。(设终点是油价为0,距离起点为dis的车站,) 1.当前车站为now,下一车站为next。next挑选策略为:在当前车站加满油可以到达的所有车站里找next。next 阅读全文
posted @ 2020-04-10 21:50 wsshub 阅读(125) 评论(0) 推荐(0)
摘要:这题第四个测试点是格式控制...其实看题的时候就想到要注意这一点,写着写着就忘了。cin,cout依然容易超时。刚开始第20行写成 scanf("%d%c%d",&add1,&NODE.c,&NODE.next); 没办法正常读取,想来是因为NODE.c吸收了空格?后来改成 scanf("%d %c 阅读全文
posted @ 2020-03-26 20:02 wsshub 阅读(248) 评论(0) 推荐(0)
摘要:第一次做图形打印的题。懵逼。找其他人的解法来学习。意外的发现string有substr()这个好工具。 字符串长度设为len,n=n+2。令 n/3=n1 。把n平均分成三份,n1为截取商的部分, n2=n/3+n%3 ,余数部分全给n2。这使得n1已经尽可能的大,至多与n2相等,这是题目的要求。n 阅读全文
posted @ 2020-03-26 16:46 wsshub 阅读(160) 评论(0) 推荐(0)
摘要:最短路径问题。一定要注意将visited[u]是否等于0加入判断!很关键,还是没有理解透,所以才忘了加。(第42行和第45行) 其实图相关的题通过率蛮高的...套路题,坑少。 1 #include <iostream> 2 #include<cstdio> 3 #include<vector> 4 阅读全文
posted @ 2020-03-25 13:04 wsshub 阅读(174) 评论(0) 推荐(0)
摘要:这题...直接用sort函数排个序就好了啊...其他博客说什么会爆内存,没有吧。我这代码不管内存还是用时表现都挺好的...注意点有两个,第一序列的个数分为奇数和偶数,两种情况下的中位数位置要注意。第二,序列数据类型用long long。 ps:这题原来的内存限制是1.5MB,那我的代码的确是会超过这 阅读全文
posted @ 2020-03-24 16:50 wsshub 阅读(206) 评论(0) 推荐(0)
摘要:这题不难,貌似乙级也有一样的题?简单的排序问题。有一点问题是,用cin,cout绝对超时,查了一下,用一下代码可以加速至与scanf,printf速度一样。 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 好像确实可以加速,但是否能通过还是 阅读全文
posted @ 2020-03-24 15:41 wsshub 阅读(245) 评论(0) 推荐(0)
摘要:简单题。把3个10进制数转化为13进制,结果只有一位数字时左边用0补齐。如十进制0输出00。 1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 char res[10]; 7 char 阅读全文
posted @ 2020-03-24 14:07 wsshub 阅读(153) 评论(0) 推荐(0)
摘要:不得不说,这不是一道好题,很烂...(这也许就是模拟题的特点吧,考的是细心程度和debug调试能力)逻辑复杂,需要非常周全精细的考虑,需要避免的坑有很多。这种类似排队的模拟题,目前为止这是第三道(1014,1017,1026),有着大体相似的描述和思路(我回去看了看之前的记录,发现这种类型的题真的很 阅读全文
posted @ 2020-03-24 01:42 wsshub 阅读(505) 评论(1) 推荐(0)
摘要:这题还算简单的。也一次提交就过了。只是用时和内存比不上柳神的代码...不知道为什么。可能string和cin,cout比较耗时吧... 1 #include <iostream> 2 #include<cstdio> 3 #include<string> 4 #include<vector> 5 # 阅读全文
posted @ 2020-03-22 16:12 wsshub 阅读(184) 评论(0) 推荐(0)
摘要:题不难。我以为我的已经够简洁了,没想到还有更简洁的,algorithm里面有reverse()函数,可以直接给出逆序结果,方便多了(虽然不用这个也不会很麻烦,但还是学学STL的使用)。一看这题应该要想到用字符模拟运算,看看数据范围就知道了,int类型的数据范围简单的记为10的9次方,有10位数,lo 阅读全文
posted @ 2020-03-22 14:31 wsshub 阅读(170) 评论(0) 推荐(0)
摘要:模拟整数乘法,比较简单的乘法模拟,因为一个因数是2,只有一位。注意处理可能产生的进位,测试点2和7测的就是这个。(理解题意很重要,pat可能有的题不难,但是得仔细琢磨坑点在哪里) 用digit1[]记录原数字中各位数字的出现次数,digit2[]存储结果中各位数字出现的次数,逐个比较,如果次数不相等 阅读全文
posted @ 2020-03-21 19:33 wsshub 阅读(331) 评论(0) 推荐(0)
摘要:这个题挺好的。学习了map和set的使用,还有字符串的接收和输出。参考了柳神的代码。 题目要求根据title,author,key,publisher,year来输出对应书的编号,思路是建立map<关键码,编号的集合>,关键码就是title,author,key,publisher,year,根据在 阅读全文
posted @ 2020-03-21 18:03 wsshub 阅读(208) 评论(0) 推荐(1)
摘要:暴力搜索...用dfs判断连通分量个数。如果不是1,连通分量个数,如果是1,输出根节点序号(使得树高最大的根节点)。 有人用两次dfs,说什么这两次搜索的末端节点的并集就是答案,这背后是不是有什么数学原理?不太理解。我直接暴力搜索了,逐个节点进行dfs,过程中记录节点高度。好在没有超时。这道题给了2 阅读全文
posted @ 2020-03-20 22:39 wsshub 阅读(178) 评论(0) 推荐(0)
摘要:这题通过率蛮高的,没有坑,但是如果不知道如何通过后序和中序来还原一个二叉树的话,这题可以说是无从下手。这题对我来说还算比较难的,之前没做过树的题。算是一个新知识。 1 #include <iostream> 2 #include<vector> 3 #include<algorithm> 4 usi 阅读全文
posted @ 2020-03-20 18:48 wsshub 阅读(124) 评论(0) 推荐(0)
摘要:本题一遍过...20分的题好像相对来说是比较简单的。本题主要涉及进制转换和回文判断。 1 #include<iostream> 2 #include<vector> 3 #include<cstdio> 4 using namespace std; 5 int main(){ 6 int n,b; 阅读全文
posted @ 2020-03-19 15:58 wsshub 阅读(140) 评论(0) 推荐(0)
摘要:这题也很好。涉及多条最短路径问题。使用Dijkstra找到多条最短路径,再使用DFS对路径进行回溯选取最佳的最短路径。 1.只用Dijkstra不能拿满分。 2.最短路径的优先级是(由高到低):路径最短的;从PBMC取走的自行车数目最少的;从车站取回的自行车数目最少的。 3.存储多条最短路径的策略是 阅读全文
posted @ 2020-03-18 14:58 wsshub 阅读(219) 评论(0) 推荐(0)
摘要:我是不是走火入魔了?(脏话)这题和1014很像,思路也差不多,自己把总体思路写下来了,一直不通过,是自己都没想明白window[]数组里面存的应该是什么,脑子稀里糊涂,明明想到了,却又被别的想法给搅乱,错就错在window[]的定义自己没想明白。 1.将时间转化为秒进行比较和运算。 2.每个人拥有2 阅读全文
posted @ 2020-03-17 01:03 wsshub 阅读(196) 评论(0) 推荐(0)
摘要:本题完全按照别人的思路来写。之前在如何处理输入数据上想了很久,发现还是不能处理好,于是参考了别人的思路。我好菜... 1.对于输入的数据,先按照姓名排序,如果名字相同按照时间排序(时间转化为分钟)。分别比较相邻两个元素的名字是否相同,再比较on-line和off-line的标志是否相异,即可判断是否 阅读全文
posted @ 2020-03-16 09:23 wsshub 阅读(114) 评论(0) 推荐(0)
摘要:应该是比较简单的吧...知识点有素数判断,进制转换。还有本题特别的输入和输出手法(while...!=EOF) 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 bool isPrime(int x){ 5 if(x<= 阅读全文
posted @ 2020-03-15 17:54 wsshub 阅读(99) 评论(0) 推荐(0)
摘要:这题好难的。。想了很久怎么处理,参考了别人的代码,发现一个测试点的疏漏,pat的测试点给的还不是很全面。自己原来的代码就不提了,很垃圾,只过了测试点1拿了12分,还有两个测试点超时,其他测试点答案错误...我还想了好久...太菜了。学习别人的思路,自己改动了一些地方。 1.构造结构体Que,成员有l 阅读全文
posted @ 2020-03-15 15:11 wsshub 阅读(287) 评论(0) 推荐(0)