PAT
文章平均质量分 73
Harryline-lx
我很懒,但还是添加了简介
展开
-
【PAT甲级复习】 专题复习十:入门模拟与算法初步
文章目录专题复习十(9.11):入门模拟与算法初步1 日期处理2 进制转换3 排序4 散列5 快速幂6 归并排序7 快速排序专题复习十(9.11):入门模拟与算法初步1 日期处理主要注意平年闰年int month[13][2] = { //第二维为0表示平年,为1表示闰年 {0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};bool i原创 2021-09-20 12:24:16 · 286 阅读 · 0 评论 -
【PAT甲级复习】 专题复习九:数学相关
文章目录专题复习九(9.10):数学相关1 最大公约数与最小公倍数2 分数的表示3 素数3.1 判断素数3.2 筛法获取素数表4 质因子分解5 大整数运算6 组合数6.1 求n!中有多少个质因子p6.2 组合数的计算专题复习九(9.10):数学相关1 最大公约数与最小公倍数最大公约数的代码:int gcd(int a, int b){ if(b == 0) return a; else return gcd(b, a%b);}lcm(a,b) = a / gcd(a,b) *原创 2021-09-19 10:44:28 · 258 阅读 · 0 评论 -
【PAT甲级复习】 专题复习八:基础数据结构专题
文章目录专题复习八(9.10):基础数据结构专题1 栈1.1 codeup 1918 简单计算器1.2 A1051 Pop Sequence (25 分)2 队列3 链表专题复习八(9.10):基础数据结构专题1 栈通常用数组来实现栈,使用栈顶指针TOP来控制,栈空时TOP为-1。注意STL中的stack没有clear()函数,清空的最好办法是重新定义一个stack。栈的应用:模拟递归,表达式计算,中缀表达式转后缀表达式…void clear(){ TOP = -1;}int si原创 2021-09-18 15:46:56 · 289 阅读 · 0 评论 -
【PAT甲级复习】 专题复习七:树专题
文章目录专题复习七(9.9):树专题1 树与二叉树2 二叉树的遍历2.1 先序中序建树2.2 后序中序建树2.3 层序中序建树2.4 前序后序求中序(结果不唯一 A1119题)2.5 例题 A1053 Path of Equal Weight (30 分)3 二叉查找树3.1 例题 A1043. Is It a Binary Search Tree (25)3.2 例题 7-2 二叉搜索树的插入序列3.3 例题A1099 Build A Binary Search Tree (30 分)4 平衡二叉树 (A原创 2021-09-17 14:00:59 · 557 阅读 · 0 评论 -
【PAT甲级复习】 专题复习六:图的遍历与最小生成树
文章目录专题复习六(9.8):图的遍历与最小生成树1 图的DFS遍历2 图的BFS遍历3 例题解析3.1 **A1034 Head of a Gang (30 分)**3.2 A1076 Forwards on Weibo (30 分)4 最小生成树专题复习六(9.8):图的遍历与最小生成树1 图的DFS遍历注意:如果已知给定的图是一个连通图,则只需要一次DFS就能完成遍历。伪代码如下:DFS(u){ vis[u] = 1; for(从u出发能到达的所有顶点v){原创 2021-09-16 17:51:30 · 366 阅读 · 0 评论 -
【PAT甲级复习】 专题复习五:常用的STL容器及其相关操作
文章目录专题复习五(9.6):常用的STL容器及其相关操作1 vector的常见用法2 set的常见用法3 string的常见用法4 map的常见用法5 queue的常见用法6 priority_queue的常见用法7 stack的常见用法8 pair的常见用法9 algorithm头文件下的常用函数10 例题解析10.1 A1039 Course List for Student (25 分)10.2 A1047 Student List for Course (25 分)10.3 A1063 Set S原创 2021-09-14 10:06:38 · 454 阅读 · 0 评论 -
【PAT甲级复习】 专题复习四:拓扑排序
文章目录专题复习四(9.5):拓扑排序1 拓扑排序的代码实现2 例题解析——A1146 Topological Order (25 分)专题复习四(9.5):拓扑排序拓扑排序是将有向无环图G的所有顶点排成一个线性序列,使得对图G中的任意两个顶点u,v,如果存在边u->v,那么在序列中u一定在v的前面。这个序列又被称为拓扑序列。拓扑排序的步骤如下:定义一个队列Q,并把所有入度为0的节点加入队列。取队首节点,输出。然后删去所有从它出发的边,并令这些边到达的顶点的入度减1,如果某个顶点的入原创 2021-09-13 08:52:11 · 230 阅读 · 0 评论 -
【PAT甲级复习】 专题复习三:关键路径
文章目录专题复习三(9.4):关键路径1 求整个DAG中的最长路径2 求整个图中终点为T的最长路径3 一个用关键路径解决的经典例子专题复习三(9.4):关键路径所谓的关键路径其实就是DAG(有向无环图)的最长路径,使用动态规划解决比较简洁易懂。1 求整个DAG中的最长路径也即不固定起点和终点,这里使用动态规划解决,用dp[i]表示从节点i出发能得到的最长路径,则递推式为dp[i] = max(dp[i], DP(j) + length(i->j)),边界条件为出度为0的节点的dp[i]一定为0原创 2021-09-12 08:04:03 · 370 阅读 · 0 评论 -
【PAT甲级复习】 专题复习二:并查集
文章目录1 初始化2 查找根节点+路径压缩3 集合合并4 常见的一些统计数据5 STL中与集合操作相关的函数6 例题解析6.1 A1107 Social Clusters (30 分)6.2 A1118 Birds in Forest (25 分)并查集主要用来处理一些分组和分类的问题,实现起来也比较简单,主要包含以下几个操作:1 初始化int father[N];for(int i=1; i<=N i++){ father[i] = i;}2 查找根节点+路径压缩int fi原创 2021-09-11 22:34:20 · 166 阅读 · 0 评论 -
【PAT甲级复习】 专题复习一:最短路径
文章目录1 无负权边的单源最短路径——Dijkstra1.1 邻接矩阵版:适用于V不超过1000的情况,复杂度O(2V22V^22V2)。1.2 邻接表版:复杂度O(V2+EV^2 + EV2+E)1.3 优先队列优化的Dijkstra1.4 记录最短路径1.5 多个标尺如何处理1.5.1 新增边权1.5.2 新增点权1.5.3 求最短路径条数1.6 多个标尺且比较复杂:Dijkstra + DFS1.6.1 Dijkstra默写模板1.6.2 DFS遍历所有最短路径模板2 有负权边的单源最短路径——Bel原创 2021-09-05 10:12:41 · 250 阅读 · 0 评论 -
【PAT甲级复习】1115 Counting Nodes in a BST (30 分)
这个题目算是30分大题里面比较简单的了,按照常规套路构造BST,不过可以在节点的定义中加上深度这个成员变量,在构造BST的过程中把每个成员的深度记录下来,并记录好最大深度以及每个深度的节点数目,最后直接按题意输出即可。#include<bits/stdc++.h>using namespace std;struct Node{ int v, depth; Node* lchild, *rchild;};Node* root = NULL;int maxdps = -原创 2021-08-30 15:14:20 · 108 阅读 · 0 评论