自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 pat 甲级1154 Vertex Coloring (25分)

文章目录pat 甲级1154 Vertex Coloring (25分)pat 甲级1154 Vertex Coloring (25分)代码:(水题,不分析了哈:)#include <iostream>#include <vector>#include <set>using namespace std;struct edge{ int vertex1,vertex2;}temp;vector<edge> g;int main()

2020-09-03 14:43:34 122 1

原创 pat甲级 1134 Vertex Cover (25分)

文章目录pat甲级 1134 Vertex Cover (25分)1.分析2.代码pat甲级 1134 Vertex Cover (25分)1.分析note:只需要明白两点,(1)题目第一句话:A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. 什么意思。(2)能否想到给边编号存储,不用邻接矩阵不用

2020-09-03 00:22:33 144

原创 pat甲级1133 1133 Splitting A Linked List (25分)

文章目录pat甲级1133 1133 Splitting A Linked List (25分)1. 20分代码(最后一个点代码)2.正确代码3.总结pat甲级1133 1133 Splitting A Linked List (25分)1. 20分代码(最后一个点代码)#include <iostream>#include <vector>#include <unordered_map>using namespace std;struct node{

2020-09-02 22:31:11 102

原创 pat甲级1137 Final Grading (25分)

文章目录pat甲级1137 Final Grading (25分)pat甲级1137 Final Grading (25分)note:题目很容易,但要写的紧凑简洁需要斟酌,还有就是细节:final grade G 是四舍五入,合格有证书的学生才进入排序输出,不是全排代码:不到40行:)#include <iostream>#include <iostream>#include <unordered_map>#include <algorithm&gt

2020-09-02 15:50:01 145 1

原创 set,merge函数

#include <algorithm>#include <set>//集合的几种函数,要求集合a,b从小到大有序,inserter创建一个insert迭代器,因此若是set容器就有去重功能,同理,对vector就用back_inserter创建push_back迭代器,不去重,对于数组只需写c.begin();//vector容器有//并集set_union(a.begin(),a.end(),b.begin(),b.end(),inserter(c,c.begin())

2020-09-02 08:53:24 1039

原创 pat甲级 1129 Recommendation System (25分)

文章目录pat甲级 1129 Recommendation System (25分)代码pat甲级 1129 Recommendation System (25分)note:这道题本身不难,任务简单,就是在线查询排序;但难点在对STL的运用上 ,首先选择合理的容器有两个:map和set,map增删查改更易,重构compare函数或重载操作符很难实现排序;set反之;但增删查改复杂一点容易解决,故只有可选。其次,就是运算符重载或compare函数重写,没有学过的同学可能很困难,学过了就很简单代码#in

2020-09-01 21:03:37 110

原创 pat甲级 1141 PAT Ranking of Institutions (25分)

文章目录1.错误代码1.1测试结果pat甲级 1141 PAT Ranking of Institutions (25分)1.错误代码#include <iostream>#include <cctype>#include <unordered_map>#include <vector>#include <algorithm>using namespace std;struct node {int score,ns;};un

2020-08-30 00:46:23 169

原创 pat甲级1126 Eulerian Path (25分)

文章目录pat甲级1126 Eulerian Path (25分)1.题意理解2.分析3.代码:(O(n))(O(n))(O(n))pat甲级1126 Eulerian Path (25分)1.题意理解本题是判断题。非常简单,无需任何推论来做,只需明白定义即可:connected graphs with all vertices of even degree have an Eulerian circuit, and such graphs are called Eulerian. If there

2020-08-29 08:14:48 94

原创 pat甲级1122 Hamiltonian Cycle (25分)

文章目录PAT甲级 1122 Hamiltonian Cycle (25分)1.题解1.1分析1.2检验例子的判定条件1.3代码1.4结语PAT甲级 1122 Hamiltonian Cycle (25分)1.题解1.1分析这道题非常简单,首先点数只有200,所以就给算法选择带来非常大的灵活性,(怎么也不会超时)。其次,问题是查询式问题只需要检验给定例子是否正确(:改成求有多少个哈密尔顿图,并按行输出可就难了,其实也不是很难:)。如果改成点数1000,并求多少个哈密尔顿图并输出,就是一道甲级30分题

2020-08-28 16:03:56 244

原创 pat甲级1123Is It a Complete AVL Tree (30分)

pat甲级1123Is It a Complete AVL Tree (30分)模板题;代码较长,半小时敲完。。。。。。打字太慢文章目录pat甲级1123Is It a Complete AVL Tree (30分)1.AVL插入结点模板2.层序遍历模板3.主函数1.AVL插入结点模板struct node{ int data,height=1; node *lchild=NULL,*rchild=NULL; node(int _data) {data=_data;}}

2020-08-28 10:57:15 100

原创 pat甲级1143 Lowest Common Ancestor (30分)

pat甲级1143 Lowest Common Ancestor (30分)文章目录pat甲级1143 Lowest Common Ancestor (30分)1.超时做法(测试点4)1.超时做法(测试点4)复杂度:O(mnlog⁡n)O(mn\log n)O(mnlogn)(m,n取最大时超时)代码如下:#include <iostream>#include <unordered_map>#include <vector>using namespace

2020-08-27 16:16:49 164

原创 pat甲级 1146 Topological Order (25分)

pat甲级 1146 Topological Order (25分)note:把测试序列看作队列容器的出序列,判断每次元素出队,入度是否为零即可;代码:#include <iostream>#include <vector>#include <unordered_map>using namespace std;unordered_map<int,vector<int>> s;unordered_map<int,int>

2020-08-27 13:00:13 93

原创 素数筛的几种算法

文章目录1.普通筛法(O(nn)O(n\sqrt{n})O(nn​))2.Erotasthenes筛法(O(nlog⁡log⁡n))(O(n\log\log n))(O(nloglogn))3.欧拉筛法(O(n))(O(n))(O(n))1.普通筛法(O(nn)O(n\sqrt{n})O(nn​))note:从1~n枚举,判断每个数是否是素数,打印1~n的素数表代码://判断一个数是否是素数bool Isprime(int x){ if(x<2) return false;

2020-08-27 08:58:48 352

原创 拓扑排序+判环总结

拓扑排序+判环二维

2020-08-26 19:09:28 594

原创 pat甲级1149 1149 Dangerous Goods Packaging (25分)

pat甲级1149 1149 Dangerous Goods Packaging (25分)note:非并查集,水题,10分钟小代码代码:#include <iostream>#include <vector>#include <unordered_map>using namespace std;

2020-08-25 14:32:36 116

原创 pat甲级1151 LCA in a Binary Tree (30分)

pat甲级1151 LCA in a Binary Tree (30分)#include <iostream>#include <unordered_map>#include <vector>using namespace std;vector<int> in,pre;unordered_map<int,int> pos;//不可以直接开数组pos[10005],因为整数内含有负数,无需排序,因此用unordered_map//各分

2020-08-25 08:56:20 201

原创 pat甲级 1125 Chain the Ropes (25分)

pat甲级 1125 Chain the Ropes (25分)note:哈夫曼树的变形,隐含条件在代码注释处代码如下:(题目最后一句描述模糊而且后台测试用例结果不对,试了几次 才知道根本不用四舍五入,理解思想就好,复习一下哈夫曼树)#include <iostream>#include <algorithm>#include <vector>using namespace std;int main(){ int n; cin>&

2020-08-23 18:57:48 105

原创 pat甲级 1118 Birds in Forest (25分)

pat甲级 1118 Birds in Forest (25分)note:并查集+路径压缩#include <iostream>#include <unordered_set>using namespace std;int pre[10005],isRoot[10005]={0};unordered_set<int> s;//去重不排序,节省运行时间int findpre(int x){ int a=x; while(x!=pre[x])

2020-08-23 14:14:43 143

原创 pat甲级 1117 Eddington Number (25分)

pat甲级 1117 Eddington Number (25分)note:现场定义题。“Eddington number”, E – that is, the maximum integer E such that it is for E days that one rides more than E miles。意思是,n个数中大于k的个数恰好为k个,k即为"Eddington number"。把数字按从大到小排序,则a[i]>i,说明序列a中存在i个数大于i,i的最大值即为"Eddingto

2020-08-23 09:30:36 123

原创 pat甲级 1115 Counting Nodes in a BST (30分)

pat甲级 1115 Counting Nodes in a BST (30分)note:常规题,一般思路:建树+搜索(DFS/BFS),至于怎么建树,怎么搜索就不细说了,很多数据结构教科书例如清华殷人昆(C语言),清华邓俊辉(c++)都有非常经典的函数代码,思想其实一样。优化思路:搜索过程均是沿着树向下搜索:DFS以深度为标尺,每次都向更深的子树下探,直到叶节点然后回退;BFS是一层一层向下搜索,遍历完一层再搜索下一层。因此搜索的过程其实是把整个树重复走了一遍,那么,可以不要搜索过程直接在建树的同时记

2020-08-22 18:35:59 112

原创 pat甲级1086 Tree Traversals Again (25分)

pat甲级1086 Tree Traversals Again (25分)note:push序列是先序序列,pop序列是中序序列,由先序和中序序列转后序序列。代码如下:#include <iostrream>#include <vector>#include <stack>using namespace std;vector<int> value,pre,in;int n,cnt=1;void postorder(int root,int

2020-08-22 08:52:41 97

原创 pat甲级 1138 Postorder Traversal (25分)

pat甲级 1138 Postorder Traversal (25分)note:模板题代码:#include <iostream>#include <vector>using namespace std;vector<int> pre,in;bool flag=false;void postorder(int preL,int inL,int inR){ if(inL>inR||flag) return; int i=inL;

2020-08-21 21:08:52 112

原创 pat甲级1119 Pre- and Post-order Traversals

pat甲级1119 Pre- and Post-order Traversalsnote:是否有唯一二叉树,关键在于看非叶节点中是否存在只有一个子树的根节点,若有,则二叉树不唯一,因为无法确定该子树是左子树还是右子树。题目中说二叉树不唯一时,输出其中一种可能的中序序列即可,因此可以将唯一的子树看作左子树,也可以看作右子树,我的做法是看作左子树。中序遍历方法:首先要确定根节点和子树结点。根节点是先序序列的队首数字也是后序序列的队尾数字。若根节点为非叶子节点,则左子树必然存在,且左子树根节点为先序序列中根节

2020-08-21 19:04:37 137

原创 pat甲级 1071 Speech Patterns (25分)

pat甲级1071水题,直接上代码#include <iostream>#include <map>#include <cctype>using namespace std;int main() { string s, t; getline(cin, s); map<string, int> m; pair<string,int> temp; for(int i = 0; i <= (in

2020-08-18 09:46:21 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除