![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
文章平均质量分 84
wtttcl
小菜鸡啄你
展开
-
【PAT】第八章 搜索专题
第八章 搜索专题原创 2023-01-31 16:13:32 · 51 阅读 · 0 评论 -
【PAT】第五章 数学问题(例题)
第五章 数学问题目录第五章 数学问题5.1 简单数学【例】A1069 The Black Hole of Numbers (20 分)5.1 简单数学【例】A1069 The Black Hole of Numbers (20 分)illustrate v.阐明,演示Constant n.常数ATTENTION还是要想清楚再写呀,不然这么简单的题,也会浪费时间的。abs(int x),头文件 #include <algorithm> ,浮点数的绝对值要用math头文件下的f原创 2021-09-02 21:51:13 · 130 阅读 · 0 评论 -
【PAT】第四章 算法初步(例题)
第四章 算法初步目录第四章 算法初步4.1 排序【例】A1062 Talent and Virtue (25 分)4.1 排序【例】A1062 Talent and Virtue (25 分)ATTENTION水题,但是你的笔误真的有点多。要多注意下笔。#include <cstdio>#include <vector>#include <algorithm>using namespace std;struct per{ int id; in原创 2021-08-29 23:02:39 · 235 阅读 · 0 评论 -
【C++标准模板库】set
6.2 set的常见用法内部自动递增排序且不含重复元素。头文件: #include <set> 和 using namespace std;6.2.1 set的定义set<typename> name;//set数组set<typename> array[arraysize];【注】如果typename是一个STL容器,那么在定义时要记得在> >之间加上空格。6.2.2 set内元素的访问set只能通过迭代器访问!set<type原创 2021-08-27 17:16:28 · 380 阅读 · 0 评论 -
【PAT】第六章 C++标准模板库 -map
c++ map整理头文件:#include <map>和 using namespace std;6.4.1 map的定义map<typename1,typename2> mp;【注】字符串必须使用string,不能使用字符数组。6.4.2 map内元素的访问1. 下标访问map<char,int> mp;printf("%d",mp['c']);2. 迭原创 2021-08-27 17:15:57 · 267 阅读 · 0 评论 -
【PAT】第六章 C++标准模板库 - string
6.3 string的常见用法头文件:#include <string> 和 using namespace std;6.3.1 string的访问ATTENTION读入和输出string只能用cin和cout,但是可以用printf("%s",str.c_str());1. 通过下标直接访问printf("%c",str[1]);2. 通过迭代器访问string和vector的迭代器,支持对迭代器直接进行加减某个数字。ATTENTIONstring的迭代器不需要指明原创 2021-08-27 17:15:13 · 312 阅读 · 1 评论 -
【PAT】第六章 C++标准模板库 - priority_queue
6.6 priority_queue的常见用法详解目录6.6 priority_queue的常见用法详解6.6.1 priority_queue的定义6.6.2 priority_queue容器内元素的访问6.6.3 priority_queue常用函数实例解析1.push()2. top()3. pop()4. empty()5. size()6.6.4 priority_queue内元素优先级的设置1. 基本数据类型(int,double,char)的优先级设置2. 结构体的优先级设置6.6.5 例题原创 2021-08-27 17:10:36 · 140 阅读 · 0 评论 -
【PAT】第六章 C++标准模板库 - algorithm
6.9 algorithm头文件下的常见函数6.9.1 max()、min()、abs()1. max()、min() max(x,y)/min(x,y)x、y可以使浮点数,但必须是两个值。如果要求三个数的最大值,可以使用max(x,max(y,z))。2. abs()abs(x)x必须是整数,浮点数要用math头文件下的fabs()。6.9.6 sort()头文件:#include <algorithm> 和 using namespace std;1. 具体使用so原创 2021-08-27 17:12:33 · 133 阅读 · 0 评论 -
【PAT】第六章 C++标准模板库介绍(例题)
第六章 C++标准模板库介绍6.1 vector【例】A1039 Course List for Student (25 分)由于该题测试点数据量很大,使用stl会超时。所以用hash映射。在数据量很大的时候,不要用cin和cout,用scanf。在数据量很大的时候,不要用string,用char[]。#include <cstdio>#include <vector>#include <algorithm>using namespace std;原创 2021-08-21 10:23:50 · 184 阅读 · 0 评论 -
【PAT】第十章 图算法专题(例题)
10.3.3 例题【例】A1154 Vertex Coloring (25 分)labeling n. 标签;标记;[计] 标号vertex n. 顶点indices n. 指数;目录(index的复数)ATTENTION因为有多组数据,要注意清空。用邻接矩阵会超内存,顶点数<=500采用邻接矩阵!!!遍历所有顶点的邻接点,看颜色有没有重复,别忘了把该顶点的颜色也算进去(五分啊五分)。细节细节细节!!!有道理啊直接遍历所有边就行了啊!!!#include <cstd原创 2021-08-19 02:16:34 · 457 阅读 · 0 评论 -
【PAT】第九章 数据结构专题 - 树(例题)
目录9.2 二叉树的遍历【例】A1020 Tree Traversals (25 分)【例】A1102 Invert a Binary Tree (25 分)9.3【例】A1053 Path of Equal Weight (30 分)【例】A1094 The Largest Generation (25 分)【例】A1090 Highest Price in Supply Chain (25 分)9.4【例】A1004 Counting Leaves (30 分)==【例】A1043 Is It a Bi原创 2021-08-15 10:10:25 · 415 阅读 · 0 评论 -
【PAT】第七章 数据结构专题
第七章 数据结构专题7.3 链表处理7.3.1 链表的概念不连续存储。结点=数据域+结点域。struct Node{ typename data; //数据域 Node* next; //指针域 };链表分类头结点head:数据域不放任何东西,指针域指向第一个数据域有内容的结点。根据链表有没有头结点可以分为带头结点的链表和不带头结点的链表。7.3.2 malloc函数或new运算符为链表节点分配内存空间1. malloc函数头文件:#include <stdlib.原创 2021-07-31 14:49:08 · 138 阅读 · 0 评论 -
【PAT】必拿下的逻辑题
逻辑题【例】A1093 Count PAT’s (25 分)ATTENTION这道题十分钟就过了呜哇哇哇,太爽了!!!(虽然过了,但其实自己思路还没很清晰…假设一个P后面所有"AT"的组合个数为tmp,那么这个P所能组合成的"PAT"的个数就是tmp。同理,假设一个A后面所有的T的个数为cntT,那么这个A所能组合成的"AT"的个数就是cntT。所以,从后往前遍历,当遇到T时,cntT++;当遇到A时,tmp+=cntT;当遇到P时,ans+=tmp。柳神的做法:关注A。对于每一个A,它前面的P原创 2021-07-30 19:58:46 · 177 阅读 · 0 评论 -
【PAT】第五章 数学问题
第五章 数学问题5.4 素数5.4.1 判断是不是素数复杂度:O(sqrt(n))#include <cmath>//判断n是不是素数bool isPrime(int n){ if(n<=1) return false; int sqr=(int)sqrt(1.0*n); //sqrt(double) 头文件 cmath for(int i=2;i<=sqr;i++) //遍历2到根号n if(n%i==0) return false; return原创 2021-07-26 15:38:59 · 148 阅读 · 0 评论 -
【PAT】第六章 C++标准模板库 - vector
第六章 C++标准模板库介绍6.9 algorithm头文件下的常见函数6.9.6 sort()头文件:#include <algorithm> 和 using namespace std;1. 具体使用sort(首元素地址,尾元素元素地址的下一个地址(首元素地址+数组大小),比较函数(非必填,默认递增排序));2. 比较函数cmp2.1 基本数据类型:递减排序bool cmp(int a,int b){ return a>b; //左大右小}2.2 结构体原创 2021-07-23 18:52:59 · 146 阅读 · 0 评论 -
【PAT】第四章 算法初步
第四章 算法初步4.4 贪心4.4.1 简单贪心贪心:考虑在当前状态下的局部最优策略,从而使全局结果最优。一般使用反证法和数学归纳法证明。一般的,如果在想到某个似乎可行的策略,并且自己无法举出反例时,就实现它。【例】A1038 Recover the Smallest Number#include <cstdio>#include <string>#include <algorithm>#include <iostream>using na原创 2021-07-22 13:48:40 · 344 阅读 · 0 评论 -
【PAT】第九章 数据结构专题 - 树
第九章 数据结构专题9.3 树的遍历一般意义上的树:子结点个数不限且子结点没有先后次序的树。9.3.1 树的静态写法用一个大小不小于结点上限个数的结点数组表示子结点。struct node{ int data; //数据域 vector child; //指针域 }Node[maxn];如果题目不涉及数据域,只需要树的结构,可以简化成vector<int> child[maxn]; //每个结点都是一个vector,存放子结点的下标。结构体结构体内部可以定义除原创 2021-07-18 19:44:39 · 300 阅读 · 0 评论 -
【PAT】第十章 图算法专题
第十章 图算法专题10.4 最短路径对于给定的图G、起点S和终点T,求出S到T的最短路径10.4.1 Dijkstra算法单源最短路问题:给定图G和起点S,得到S到其他每个顶点的最短距离。非负边。集合S存放已被访问过的顶点,执行n次以下步骤:从集合V-S中选择与起点s距离最短的顶点u,访问u并加入集合S中。另u为中介店,优化起点s到所有u能到达的顶点v(未被访问过的)之间的最短距离。具体实现集合S:bool vis[]起点s到其他顶点的最短距离:int d[],初始化时,除d[s]原创 2021-07-16 22:42:59 · 153 阅读 · 0 评论 -
【PAT】第三章 入门模拟
第三章3.1 简单模拟A1002. A+B for Polynomialspolynomial n.多项式exponent n.指数coefficient n.系数decimal place 小数位注意正负抵消问题输出末尾不能有空格自己维护长度时,还是在出了循环后-1吧用double,不要用float数组相关数组大小必须是常数。给整个数组赋初值0。//法一int a[10]={0};int a[10]={};//法二#include <string.h&g原创 2021-07-16 18:57:50 · 79 阅读 · 0 评论