自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PAT甲级1154

PAT甲级1154题目大意:给出n个顶点,m条边。接下来给出k组数据,问每组数据是否能构成彩色图,要求任意两个相连的顶点颜色不能相同。如果不能输出No,否则输出一共多少种颜色。这里后两个测试点超时,一开始以为是set问题,后来发现这题用邻接表数据依然会很大,改成储存边即可。尽量不要额外开辟一个visit判断多少种颜色,数据int范围会越界。#include <iostream>#include <vector>#include <set>#include &l

2021-03-17 23:32:13 99

原创 PAT甲级1153

PAT甲级1153题目大意:给出每个考生的卡号以及成绩,按照一定规则查询。规则如下:如果输入的查询代码是1则输出之后要查询的等级中的考生且按照分数从大到小排列,如果相同则按照卡号字母序从小到大排列;如果输入的查询代码是2则输出这个地点所有考生的总和(不论什么等级);如果输入的查询代码是3则输出该日期内每个地区的考生人数。注意要用unordered_map还有cout全部用printf代替否则后面两个测试点会超时。#include <iostream>#include <vector

2021-03-17 22:45:00 170

原创 PAT甲级1150

PAT甲级1150题目大意:给出一个图以及几组路径判断这些路径是哪一类路径,并且最后一行输出最短路径以及是第几组路径。路径种类:1、构成一个环且所有节点(除开始结尾的节点)只访问一次:TS simple cycle;2、构成环但是除首尾节点访问超过1次或者首尾节点访问超过2次:TS cycle;3、未能构成一个环或者虽构成环但是不是图中每个节点都访问到:Not a TS cycle。本以为是个图论的最短路径啥的,结果只是个简单模拟分类。首先首尾节点必须相同否则一定是第三类(未构成环);如果碰到路径途中有

2021-03-17 17:05:26 78

原创 PAT甲级1149

PAT甲级1149题目大意:给出n组不相容的数据,接下来给出m条待查数据,问每组数据是否可以共存。由于数据比较大所以用邻接表存储不相容的节点,如果碰到某个节点其不相容节点0个则直接跳过(说明该节点一定可以放进箱子里),否则从他的不相容邻接点查找看是否有和后面待查数据相同的,如果有则记录flag为false,之后只录入数据不做任何处理(只要有一组不相容别的都不用看了)。虽然数据有些大但是可以通过一些条件跳过大量冗余循环。#include <iostream>#include <vec

2021-03-17 16:06:21 93

原创 PAT甲级1146

PAT甲级1146题目大意:给出一个有向图,然后给出k组数据,判断是否能构成拓扑序。开辟indegree数组保存每个节点的入度,判断时候额外复制一个数组处理,不要在原数组上修改。每输入一个顶点就判断其是否入度为0,如果不为0标记false,之后输入的数据不做任何处理,并且保存该组数据的编号;如果为0则将这个顶点指向的顶点入度减1.最后输出所有不能拓扑的下标。#include <iostream>#include <vector>#include <queue>

2021-03-17 15:56:15 76

原创 PAT甲级1145

PAT甲级1145题目大意:给出表长,插入数据n,待查数据m,其中表长如果不是素数得找到一个比它大的最小素数。用平方探测法处理冲突,若插入不了则输出X cannot be inserted.。最后输出待查数据的平均查找时间。#include <iostream>#include <vector>#include <algorithm>#include <math.h>using namespace std;bool isPrime(int x)

2021-03-17 15:51:19 81

原创 PAT甲级1142

PAT甲级1142题目大意:给出nv个顶点,ne条边,接下来给出m组数据,判断这些数据是否是同一个相关图(该组数据中任意两个顶点间都存在边),如果不是输出Not a Clique;如果是判断是否是极大相关图(除了这组数据剩下图中的顶点任意加进一个都不能构成相关图),若是输出Yes否则输出Not Maximal。首先需要判断是否相关,任意两个顶点组合都得有边,否则返回false,全部遍历完返回true;判断极大相关可以开辟visit数组保存该组数据已经出现过的数据,然后遍历剩下图中未访问过的顶点,判断与该

2021-03-17 11:30:36 88

原创 PAT甲级1141

PAT甲级1141题目大意:给出各个考生PAT的成绩,甲级1,顶级1.5,乙级/1.5,统计每个学校总共拿了多少分以及一共有多少成员参加。先输出学校总数,然后按照总分从高到低排列,总分相同按照参赛人数从小到大排列,若参赛人数也一样则按照学校字母序排列。map保存每个学校总分以及成员,遍历统计即可。注意这里统计分数要用double型,不然会损失精度测试点5不通过。#include <iostream>#include <vector>#include <string&g

2021-03-17 10:42:08 125

原创 PAT甲级1134

PAT甲级1134题目大意:给出n个顶点m条边,接下来给出k组待查询数据,问每组数据是否能包括每条边(只要一条边有一个顶点在该组数据里即可)。定义两个数组存放第i条边的两个端点,查询时候直接用set。若某条边两个顶点都未出现在该集合里则输出No,否则输出Yes。这里用vector判断会超时。#include <iostream>#include <vector>#include <algorithm>#include <set>#define M

2021-03-16 23:03:06 100

原创 PAT甲级1133

PAT甲级1133题目大意:给定一个链表以及一个数K,首先将链表中所有负数放在前面,其次从0到k之间的数(包括两个端点)接在后面,最后把大于k的数全部串在后面。所有操作保证数字的相对位置不变。开辟data数组合next数组分别存放数据和下一个节点的地址,做三次循环处理,最后输出即可。注意这里链表当中有可能有无用数据,不能按照n所给输出,要统计总共多少有效数字(倒数第二个测试点)。#include <iostream>#include <vector>#include &lt

2021-03-16 16:21:46 105

原创 PAT甲级1130

PAT甲级1130题目大意:给出n个节点存放的内容和左右孩子编号,求这棵树的中序表达式。递归中序遍历即可,在遍历左孩子前加左括号,在遍历右孩子后加右括号。额外开辟个cnt数组,只要找到从1到n中未出现的数就是根节点。这里博主一开始cnt设的21做的后两个测试点段错误,后来210倒数第二个还是段错误,2100才全过,这点还没搞明白什么鬼。#include <iostream>#include <vector>#include <string>#include &

2021-03-16 15:10:13 56

原创 PAT甲级1126

PAT甲级1126题目大意:给定总节点数,总边数,让你判断是否是一个Eulerian路径。Eulerian路径:一个无向连通图所有的节点的度都是偶数;semi-Eulerian路径:一个无向连通图只有两个度为奇数的节点,剩下的节点度都是偶数;non-Eulerian:超过两个节点度为奇数。统计度的问题,循环遍历每个节点累加度。之后遍历degree数组统计奇数度的个数即可。注意这里首先要判断图是否连通(测试点3)。#include <stdio.h>#include <vector&

2021-03-16 10:25:38 79

原创 PAT甲级1122

PAT甲级1122题目大意:给出n个节点m条边构成一个无向图,接下来给出k个待查询路径,看是否可以构成一个简单回路。要求路径中不能有重复的边,开头结尾节点必须一致,必须包含所有顶点,可以用个set存放查询的节点判断是否包含所有顶点(测试点2)。若中途发现不符合要求不能提前退出,一定要输入完所有数据。#include <stdio.h>#include <vector>#include <string>#include <queue>#includ

2021-03-15 23:23:56 122

原创 PAT甲级1114

PAT甲级1114题目大意:给出n组数据,每行给出当前人员的id,父母亲的id,孩子数量,孩子id,以及房产和总资产。求出一共有多少个家庭,然后每行要输出每个家庭最小成员的id,总人数,平均房产以及平均总资产;按照平均总资产降序排列,如果有相同的则按照最小成员升序排列。DFS查找连通图问题,也可以用并查集。设置孩子双亲数组保存每个人员的孩子和父母,注意这里要去重,每次输入数据的时候要双向保存。定义hash数组存放已经出现过得人员(应对单人家庭的情况)。#include <iostream>

2021-03-15 12:23:39 75

原创 PAT甲级1110

PAT甲级1110题目大意:给出总结点数n组成一棵树,结点编号从0-n-1接下来给出n行,每行给出第i-1个结点的左右孩子,若为‘-’表示无孩子。要求判断该树是否是完全二叉树。若是则输出YES并且输出最后一个结点,若不是则输出NO并且输出根结点首先求出根节点,输入数据的时候开辟bool数组每次出现过的数字设置为false,最后剩余的那个true即为根节点。判断CBT可以开辟一个index数组,保存每个节点所在的下标,从1开始。当循环到一个节点时候判断其是否有孩子以及父亲孩子是否是2倍或者2倍+1的关系,

2021-03-14 13:37:22 73

原创 PAT甲级1109

PAT甲级1109题目大意:按照一定规则排队拍照,给出总人数N以及行数K,每行N/K人,(接下来按题目所给的视角而非实际视角)若有多的全部挪到第一排,最高的站在m/2+1位置(m为该行总人数),接下来第二高的站在最高的左边,第三高的站在最高的右边,第四高的站在第二高的左边,依次排下去。若有身高相同的则按名字字母序从小到大排列,最后输出整个队列。可以利用偏移量来做,偏移量依次为-1,+1,-2,+2…,第一行要特别考虑,因为人数可能与其他行不一样。#include <iostream>#i

2021-03-14 11:59:53 107

原创 PAT甲级1017

PAT甲级1017题目大意:给出总人数n,银行窗口k,接下来k行给出每个人来的时间以及办理业务所需的时间,求出平均等待时间(银行8点开门17点关门,可以早来但是晚于17点的不计算在内)。简单的模拟,储存每个人来的时间以及需要占用窗口的时间,实时更新可用的窗口数量,如果小于k个则不用等待直接用;如果等于k个则需要等到最早用完窗口的人离开,为了方便加入删除给vector倒序排列,每次窗口满弹出最后一个结束时间即可。#include <iostream>#include <vector&

2021-03-14 10:53:21 129

原创 PAT甲级1105

PAT甲级1105题目大意:给出一组数据,要求按螺旋式输出。要求行-列尽可能的小,即行取能被N整除且大于根号N的最小整数。N=1和最后一个数要特判(测试点2)。#include <iostream>#include <vector>#include <algorithm>#include <math.h>using namespace std;bool cmp(int a,int b){return a>b;}int findM(in

2021-03-12 23:49:44 56

原创 PAT甲级1057

PAT甲级1057题目大意:模拟栈的操作,其中PeekMedian代表求中间数,若是栈空则输出valid。不能直接用sort排序然后找出正中间的一个数,中间三个测试点会超时。用分块的思想,设置两个数组block,count,记录每个块有多少元素以及每个数出现的次数。求中间数的时候只需遍历一个小块即可。#include <iostream>#include <stack>#include <string>#include <algorithm>#i

2021-03-12 14:40:07 136

原创 PAT甲级1040

PAT甲级1040题目大意:给出一行字符串(包括空格),求出最长的回文子串的长度动态规划题,不能用两个端点作为判断条件不然会有测试点不通过。初始化的时候把长度为1和2的都处理了,dp从3开始。#include <iostream>#include <string>using namespace std;int main(){ string s; getline(cin,s); int maxlength=1,l; bool dp[s.length()][s.le

2021-03-11 16:57:39 153

原创 PAT甲级1045

PAT甲级1045题目大意:给出总颜色数n(好像没什么用),eva喜欢的颜色数m,还有可供挑选的颜色数l,求出从l个颜色当中取出eva喜欢的颜色序列最大长度是多少(必须按她喜欢的顺序排列)LIS问题,这里尽量不要写find函数查找是不是eva喜欢的颜色,后面两个测试点会超时,用hash数组存放,如果不是eva喜欢的颜色就置为-1,若是则存放该颜色所在位置。然后开辟一个数组踢掉待选颜色中所有eva不喜欢的颜色即可。#include <iostream>#include <vector

2021-03-11 11:10:25 136

原创 PAT甲级1007

PAT甲级1007题目大意:计算最长子列和,并且不光输出最大和还有输出这个序列开始的数和结尾的数。要求如果输入的全是负数的话最大子列和为0且输出整个序列的第一个和最后一个(只是全部负数的情况,若是负数加0的情况还是正常输出)。开辟dp数组用来存储到以第i个数为结尾的序列中和最大的一个,start记录序列开始的下标。遍历dp数组找出最大的那个记为max,则开始的一端为a[start[max]],结尾就是a[max]。#include <iostream>using namespace st

2021-03-10 15:50:41 126

原创 PAT甲级1087

PAT甲级1087题目大意:给出总城市数n,总道路数k以及起始城市。接下来n-1行给出除起点外每个城市的幸福指数,最后k行给出每两个城市之间的路程花费。首先要求从起点到ROM的最短距离,如果这样的最短距离有多条就统计总共有多少条。然后第二指标要求路径上的总幸福指数最高,如果总幸福指数也一样则输出平均幸福指数最高的一条路径(起始点幸福指数为0,算平均的时候必须挖去这个点)。主要用到的Dijkstra+DFS,先求出起始点到每个城市的最短路径并且保存路径,然后DFS查找。这里总路径条数不能简单自加,要根据中

2021-03-10 11:27:34 128

原创 PAT甲级1072

PAT甲级1072题目大意:给出用户数n(不超过1000),加油站数量m(不超过10),道路k条,加油站的最远供应范围ds。接下来给出k行,代表k条道路,其中G开头的代表加油站,让你选择一个合适的加油站,要求如下:1、所有用户都必须在该加油站到该用户最短路径所能达到的范围内,即加油站到该用户的最短路径不能超过加油站的供应范围;2、选择加油站到各个用户最短路径中路径最短的那条,该路径作为第一参照应尽可能的大;3、如果碰到第一参照相同的情况下,则需要求出该加油站到各个用户的平均距离,该平均距离应尽可能的

2021-03-09 15:59:44 206

原创 PAT甲级1003

PAT甲级1003题目大意:给出n座城市,m条边,开始的城市start以及目标城市end,第二行给出每座城市的救援队数量,接下来m行,每行给出一条边以及这条边的长度,求从start到end的最短路径条数,以及这些路径当中所能聚集到的最大救援队数量主要用Dijkstra算法,开辟dis数组存放从start到每座城市的最短路径,rescue记录初始每座城市的救援队数量,maxrescue记录最短路径当中最大的救援队数量,num记录最短路径的条数,road记录每条路。这里要注意下num最短路径条数的处理,不是

2021-03-06 15:39:54 381

原创 PAT甲级1021

PAT甲级1021题目:A graph which is connected and acyclic can be considered a tree. The height of the tree depends on the selected root. Now you are supposed to find the root that results in a highest tree. Such a root is called the deepest root.Input Specific

2021-03-06 12:07:46 145

原创 PAT甲级1076

PAT甲级1076题目大意:给出1-n个人他们喜欢的博主(注意第i人是这些博主的追随者,意思是后面给出的几个博主发文可以通过该人进行转发,指向不要搞反了),给出层数L,即最多可以转发几次,之后给出几个博主,问他们的潜在粉丝是多少(只要能在l次转发到的都算潜在粉丝)。主要是图的BFS,每轮考虑一个人都把他指向的直接粉丝数收纳进队列,然后挨个取出再遍历,达到L轮为止。其中设置全局数组visit记录是否访问过该人(注意一定要初始化!!!博主写这个代码花了10来分钟,这里visit调试花了1个多小时…)#i

2021-03-05 15:45:56 154

原创 PAT甲级1013

PAT甲级1013原题:It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair any other highways to keep the

2021-03-05 15:38:55 53

原创 PAT甲级1034

PAT甲级1034题目:One way that the police finds the head of a gang is to check people’s phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to be the total time length of all the phone call

2021-03-04 14:51:08 68 1

原创 PAT甲级1098

PAT甲级1098题目:According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, finds the location it belongs within the s

2021-03-03 17:48:40 81 1

原创 PAT甲级1066

PAT甲级1066题目:An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property. Figures 1-

2021-03-02 17:53:28 64

原创 PAT甲级1099

PAT甲级1099原题:A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains only nodes with key

2021-03-02 15:02:35 66

原创 PAT甲级1064

PAT甲级1064题目:A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains only nodes with key

2021-03-02 12:33:56 102

原创 PAT甲级1004

PAT甲级1004题目:A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.Input Specification:Each input file contains one test case. Each case starts with a line containing 0<N<100, the n

2021-03-01 13:27:54 51

原创 PAT甲级1106

PAT甲级1106题目:A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer.Starting from one root supplier, everyone on the chain buys products from one’s supplier i

2021-03-01 00:14:03 78

空空如也

空空如也

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

TA关注的人

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