随笔分类 - PAT记录
个人PAT刷题记录
摘要:基本思想: 无; 关键点: 主要是性能优化的问题:1.能尽量使用scanf和printf尽量使用,cin&&cout性能过低,会tl; 2.大型样本空间下,使用char[]要比string高效; 3.极其重要:一种新的思想,针对于字符串排序可以直接排序索引,可以省去大量的复制和移动操作; #incl
阅读全文
摘要:基本思想: 水题,用map可能会超标,范例代码和自己思想类似; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #in
阅读全文
摘要:基本思想: 雷同的并查集; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm> #
阅读全文
摘要:基本思想: 难倒是不难,利用并查集进行查询,但是卡在了最后一个测试点,存在TL的问题,最后发现是cin和scanf效率的问题; 关键点: 以后输入输出在OJ方面用scanf; char a[]转string直接用.c_str()和s=a即可; #include<iostream> #include<
阅读全文
摘要:基本思想: 主要考察并查集的使用,其中注意节点合并的思想; 关键点: map排序似乎无法进行,可以转成Vector<pair<string,int>>进行sort排序,条件改写一下就行了; #include<iostream> #include<stdlib.h> #include<stdio.h>
阅读全文
摘要:基本思想: 路径节点权值统计,倒是不难,但是卡在了输出路径的权值排序上; 由于要求路径权值总和相等,但是里面的节点要求降序,这就不能用简单的sort来进行解决; 而是要直接把子节点进行排序,使得无论如何,先遍历的都是权值最大的,所以就可以保证在权值和想等情况下,先访问的都是大值节点; 关键点: 无;
阅读全文
摘要:基本思想: 层序遍历问题; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm> #
阅读全文
摘要:基本思想: 雷同题目,不再赘述; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm
阅读全文
摘要:基本思想: 层序遍历问题; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm> #
阅读全文
摘要:基本思想: 之前刷过的雷同题目; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm
阅读全文
摘要:基本思想: 层序和标记layer,别忘了; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algo
阅读全文
摘要:基本思想: 无; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm> #inclu
阅读全文
摘要:基本思想: 一定要注意以下几个关键点: 1.二叉排序树的中序遍历是有序序列; 2.完全二叉树使用数组存储时可以直接初始化,可以不初始化直接三种顺序访问; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<
阅读全文
摘要:基本点: 题目繁琐无新意; 关键点: 左右节点子树交换,可以直接preorder的访问顺序就可以; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<m
阅读全文
摘要:基本思想: 弱智题,相邻计算可破; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorith
阅读全文
摘要:基本思想: 主要是hash表中的平方探测法得问题; 关键点: 注意一个问题,平方探测法并不能完美解决散列问题; 并且在这个题目中,平方探测法的step取值为step=1*1,2*2,.....,(n-1)*(n-1),其中n为散列表长度; #include<iostream> #include<st
阅读全文
摘要:基本思想: 主要考察这几个方面: 1.初始化问题; 2.输入问题; 3.进制转换; 4.素数判定和素数表得问题; 关键点: 1.初始化问题一定要注意,bool数组并不能用直接初始化; 2.输入问题涉及到多点测试问题,详见多点测试输入总结; 3.进制转换,已经很熟了,没什么好说的; 4.素数详见素数得
阅读全文
摘要:基本思路: 排序相减问题,题是水题,但是暴露出几个编程的不好习惯; 关键点: 1.定义函数不费时间,也不会增加复杂度,模块化还是要用的; 2.注意数组转数字的方式,利用多项式相乘可以快捷解决,而不用算次方: int getnumber() { int n = 0; for (int i = 0; i
阅读全文
摘要:基本思想: 没什么难的,水题,重点在于审题; 关键点: 无; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<alg
阅读全文
摘要:基本思路: 还是简单的排序问题,但是需要注意的是一些基本的思路和细节点; 关键点: 1.关于开数组的问题,特别大的话尽量开常规数组,这样避免初始化时候resize不太方便; 2.关于结构体初始化,增加逻辑可读性,直接提出一个函数专门init; 3.注意题目的隐含条件,尤其是是否有重复输入的问题; 4
阅读全文

浙公网安备 33010602011771号