pat
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
pat B 1050 螺旋矩阵(25)
1050. 螺旋矩阵(25)时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺原创 2016-11-29 15:02:54 · 1097 阅读 · 0 评论 -
1127. ZigZagging on a Tree (30) 后序中序建树 + 反向输出层次遍历
传送门题意:给出一个树的中序和后序遍历结果,求它的Z字型层序遍历,也就是偶数层从右往左,奇数层从左往右遍历~思路:这是我那次pat考试的题目当时做出来了有点忘记了今天在回顾一下吧.具体做法见这里#include<bits/stdc++.h>using namespace std;const int maxn = 35;int in[maxn],post[maxn],n;str...原创 2018-03-16 16:35:32 · 314 阅读 · 1 评论 -
PAT 1135. Is It A Red-Black Tree (30) 先序遍历二叉排序树建树+DFS验证是否为red-black
传送门、题意: 给你一个树的先序遍历,让你判断是否为red-black tree. 另外告诉你是一个二叉查找树(BST)。思路: 先说一下什么是红黑树:红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能. 红黑树是一种平...原创 2018-03-16 16:48:52 · 321 阅读 · 0 评论 -
PAT 1139. First Contact (30) 模拟
传送门题意:给n个人,m对朋友关系(有负号的代表女孩)。k组询问,每组询问给出一对关系(a,b)表示a追求b,追求方式:a在认识的人中找一个和a自己同性的c,c在认识的人中找到一个和b同性并且认识b的d。简单来说就是a认识c,c认识d,d认识b,并且a和c同性,d和b同性思路:很水的一个题目只是模拟即可.我们只需要分别存储下a、b的同性朋友,顺便用map标记一下异性之间是否为朋友,然后暴力找就行了...原创 2018-03-16 16:54:03 · 546 阅读 · 0 评论 -
PAT 1018. Public Bike Management (30) (最短路+DFS)
传送门题意: 从0号点到给定的有问题的点en,要保证每个点自行车数量为Cmax的一半,一个点的自行车数量可以被这条路径上前几个点多的自行车来补. 问你从0到问题点en的最短路径,如果最短路径相同,输出需要从0点携带的自行车数量最小的路径,如果还相同输出该路径上需要带回去最少的路径。(需要将路径上经过的所有点的自行车数量都变为完美的)思路: 如果单纯的路径最短,或者带出来的自行车数量最小...原创 2018-03-16 22:17:28 · 260 阅读 · 0 评论 -
PAT 1030. Travel Plan (30) (思维)
传送门题意: 给你n个数段,让你把他们组成一个做小的数,不输出前导0.思路: 大体一看这不就是sort嘛,我们发现 32,321,3214 即有相同前缀的他们之间的顺序会直接影响结果,即谁在前谁在后影响了结果,所以我们排序时重载: str1 + str2 < str2 + str1 ,即确定他们的前后关系来使字典序最小. 注意全0输出0#include<bits/st...原创 2018-03-16 22:24:38 · 232 阅读 · 0 评论 -
pat 1110 Complete Binary Tree (25) 判断是否为完全二叉树
传送门满二叉树一定是完全二叉树,完全二叉树不一定为满二叉树.所谓完全二叉树就是除最后一层和次最后一层可以存在叶子节点其余的必须为满二叉树,且结点要靠左,即左子树优先.判断是否为完全二叉树 即可以直接对所给定的节点之间的关系进行层次遍历,遍历过程中记录结点个数,当找到一个没有孩子结点的结点时判断是否遍历了N个结点即可.、#include<bits/stdc++.h>using nam...原创 2018-03-05 22:17:59 · 389 阅读 · 0 评论 -
pat 1066 Root of AVL Tree (25)
传送门典型的AVL的插入旋转问题见博客主要注意四种方式下 中间节点的左右孩子到底应该怎么变换.#include<bits/stdc++.h>using namespace std;const int maxn = 25;struct node{ node * l; node * r; int value; node() { ...原创 2018-03-13 20:25:18 · 1023 阅读 · 2 评论 -
PAT 1064 Complete Binary Search Tree (30) (二叉排序树的性质)
传送门题意: 给你一个序列,要你建一个完全二叉排序树,并输出他的层次遍历序列.思路: 这个题目我觉得是一个特别好的题目.首先考虑到二叉排序树的性质,二叉排序树的中序遍历得到的一定是一个递增的有序序列,又因为中序遍历总是先左孩子然后自己,再右孩子所以这就保证通过中序遍历建立的二叉排序树一定是完全二叉树.那么我们可以初始时先将序列排序变为有序的,然后利用进行中序遍历先左孩子再自己再右孩子,...原创 2018-03-13 22:11:19 · 247 阅读 · 0 评论 -
PAT 1123. Is It a Complete AVL Tree (30) (AVL的插入旋转以及完全二叉树的判断)
传送门题意: 给你n个点的序列,让你建一个平衡二叉树,并判断这个平衡二叉树是否是完全二叉树,并输出其层次遍历.思路: AVL树的插入旋转见: 点击 完全二叉树的判断:继续点击此题不过是二者的结合罢了.#include<bits/stdc++.h>using namespace std;struct node{ int val; node *l;...原创 2018-03-13 22:15:09 · 291 阅读 · 0 评论 -
1111. Online Map (30) 最短路 + 记录路径(回溯)
传送门题意:给了图,以及s和t,让你求s到t花费的最短路程、最短时间,以及输出对应的路径。 对于最短路程,如果路程一样,输出时间最少的。 对于最短时间,如果时间一样,输出节点数最少的。 如果最短路程和最短时间路径一样,合并输出一次即可。思路:直接一次spfa即可,在过程中同时记录最短路和最短时间,同时记录最短路所需要的时间,以及最短时间所经过的节点数.一开始理解错题意了,当最短...原创 2018-03-16 16:30:11 · 332 阅读 · 0 评论 -
PAT 1099 Build A Binary Search Tree (30) BST
传送门题意: 让你建一颗BST树并输出其层次遍历序列.思路: 很简单的一个题目,首先要知道BST的中序遍历就一定是有序递增的序列.那么我们根据这个特性将给定的序列排序,然后按照根据所给的节点信息按照中序遍历的顺序来建树,最后在输出层次遍历序列即可.#include<bits/stdc++.h>using namespace std;const int maxn = ...原创 2018-03-14 21:52:37 · 211 阅读 · 0 评论 -
5-12 最长对称子串 (25分) 思维
题目链接思路:这个题如果就去枚举每个子串判断其是否是对称的 复杂度太高看了网上大牛的题解,确实很巧妙的思维想法对于一个字符串我们从中间向两端去扩展并判断是否对称分为两种情况:1.如果对称子串是奇数,就以该字符为轴向两边扩展 找到一个对称的就+2最后更新最大值2.如果对称子串是偶数,那么就以两个字符为轴向两边扩展,找到对称+2 并更新最大值#includeus原创 2017-03-12 12:32:06 · 3954 阅读 · 3 评论 -
Pat 1035 插入与归并 思维
1035. 插入与归并(25)时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从原创 2016-12-10 18:59:52 · 633 阅读 · 0 评论 -
PAT A 1122. Hamiltonian Cycle (25) 哈密顿回路+dfs
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a graph. Such a cycle is called a "Hamiltonian cycle".In this problem, you are supposed to tell if a given cycl原创 2017-02-28 16:02:39 · 947 阅读 · 0 评论 -
pat 1062. 最简分数(20) 水
1062. 最简分数(20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。原创 2017-02-21 15:49:49 · 817 阅读 · 0 评论 -
PAT A 1090 Highest Price in Supply Chain 深搜
1090. Highest Price in Supply Chain (25)时间限制200 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA supply chain is a network原创 2016-10-16 14:41:53 · 513 阅读 · 0 评论 -
PAT A 1021. Deepest Root (25)
1021. Deepest Root (25)时间限制1500 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA graph which is connected and acyclic can b原创 2017-03-02 17:44:20 · 282 阅读 · 0 评论 -
PAT A 1020. Tree Traversals (25) 由两个遍历序列得层次遍历序列
1020. Tree Traversals (25)时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueSuppose that all the keys in a binary tree原创 2017-03-02 17:12:59 · 516 阅读 · 0 评论 -
pat L2-001. 紧急救援 dijkstra变形+记录路径
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2输出格式:第一行原创 2017-02-23 21:53:39 · 1134 阅读 · 0 评论 -
L3-001. 凑零钱 01背包 满包问题+记录路径
L3-001. 凑零钱时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越韩梅梅喜欢满宇宙到处逛街。现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能原创 2017-03-27 18:21:46 · 2182 阅读 · 1 评论 -
5-9 集合相似度 (25分) set 模拟
题目链接思路: STL库真的是无敌...这个题直接用set 因为set不会重复加入一个元素,我们在寻找两个集合中相同元素的时候,可以直接调用find函数 如果找不到则返回end.#includeusing namespace std;seta[55];set::iterator ti;int main(){ int n,m,k,w,x,y; cin>>n; for(in原创 2017-03-11 18:54:43 · 648 阅读 · 0 评论 -
1143. Lowest Common Ancestor (30) 思维 + O(n)建立BST树
传送门思路: 果然是个很水的题,当时把自己考崩了,预感到凉了结果就真的凉了...原创 2018-03-28 22:45:57 · 211 阅读 · 0 评论