自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小海同学的博客

芝士一片海

  • 博客(43)
  • 收藏
  • 关注

原创 PAT甲级1034 Head of a Gang (C++)

PAT 1034 Head of a Gang

2022-05-15 10:53:23 245

原创 PAT甲级1028 List Sorting(C++)

题意:给出人数 第几列排序排序有三种情况1:给ID排序2:给姓名排序 如果一样则看ID3:给分数排序,如果分数一样 看ID题解:本题难度不大,主要是要对字符串的排序要熟悉,不能只会数字排序(确实也没考虑到字符串也能直接排序),对sort的功能了解的也更多了。详细代码样例:#include <bits/stdc++.h>using namespace std;struct student{ string ID; int Grade; string Name;};bool

2022-05-15 10:48:18 196

原创 PAT甲级1030 Travel Plan (C++)

题意:这道题和之前1003的城市找路线问题非常相似,几乎是一模一样,给出城市 路数 起点 终点后面跟着 城市1 城市2 路长 花费然后求出起点到终点的路径,距离,花费其中有几点就是要注意,现在求得不是路径多少,最短路径的那一条具体路线,如果有多条路线就找花费最少的路线。题解:整道题一个用到深搜,一个用到回溯,深搜用来找最短路径,回溯用来找详细路径,难度要比1003的更大一点。详细代码样例:#include <bits/stdc++.h>using namespace std;//

2022-05-15 10:40:55 290

原创 PAT甲级1026 Table Tennis (C++)

题意:就是给出来排队的人数 接下来n行就是 来的时间,玩的时间,以及是否会会员,咱们需要做的就是求出达到的时间和开始服务的时间以及等待的时间 这个等待的时间四舍五入即可整个流程就是来排队,然后有会员和非会员,都要进行排队,只是会员可以优先使用会员桌,但是还是和非会员一样排队,所有的桌子都能用题解:整一个就是排队问题,由于有会员和非会员之分,所以分成两个队伍,一个会员队,一个总队,两个队伍一起开始排队,一起开始释放即可 具体流程代码会非常详细。详细代码样例:#include <bits/stdc

2022-05-15 10:34:19 252

原创 PAT甲级1020 Battle Over Cities (C++)

题意:第一行几棵树,下面一行就是后序序列,在后面一行是中序序列。题解:这是一道数据结构题,基本上就是可以通过后序和中序来确定层序,基本思路就是根据后序确定根节点,然后根据中序的根节点,分成左子树和右子树,然后不断的回溯直到左子树和右子树不能再分位置,所得到的就是排序好的树,然后再通过输出遍历的方式得到层序,这个可以用到树的输出,一般用的是队列。详细代码样例:#include <bits/stdc++.h>using namespace std;//建树//先建立树的节点int N;

2022-05-05 23:00:59 147 2

原创 PAT甲级1022 Digital Library (C++)

题意:给出几行题解:该题本质是连通图问题,也就是去掉一个节点后,还剩下几个连通图,则需要修连通图个数-1条公路。详细代码样例:#include <bits/stdc++.h>using namespace std;int N,M,K;vector <int> cityneibor[1001];int visited [1001];int lost;void dfs(int cur){ visited[cur] = 1; for(int i:cityneibor[

2022-05-05 22:51:43 131

原创 PAT甲级1013 Battle Over Cities (C++)

题意:第一行给出城市数量N,公路数量M,要检查的城市数量K。题解:该题本质是连通图问题,也就是去掉一个节点后,还剩下几个连通图,则需要修连通图个数-1条公路。详细代码样例:#include <bits/stdc++.h>using namespace std;int N,M,K;vector <int> cityneibor[1001];int visited [1001];int lost;void dfs(int cur){ visited[cur] = 1;

2022-03-03 21:12:11 465

原创 PAT甲级1014 Waiting in Line (C++)

题意:第一行给出窗口数量N,黄线内最大容量M,顾客的数量为K,查询顾客的编号数量为Q。解析来K个数字表示顾客所花费的时间在接下来Q行表示顾客离开的时间为多少。题解:建立顾客结构体,利用队列进行先进先出。根据时间进行循环,完成三步,在服务开始之前,进入黄线,进入黄线之前,判断是否有人离开。因此分成三个部分,分别是:1.判断是否有人离开,离开时间与循环的时间相等,此时离队。2.判断黄线内是否缺人,缺任则在黄线外的顾客入队。3.进行服务,赋值当前时间+服务所需的时间。详细代码样例://输入四个数字

2022-03-03 20:39:59 407

原创 PAT甲级1004 Counting Leaves (C++)

题意:第一行给出总结点数N,有叶子节点数M,接下来就是M行,给出一个节点,后面是在该节点的总叶子数,分别给出叶子编号。求每一层没有节点的数量。题解:深搜,从当前节点和当前层数开始遍历,遍历每一个节点是否有叶子节点,有,那么就继续深搜,没有就该层+1。详细代码样例://整体题意,给出总节点数 N,叶子节点数 M //输出是每一层 没有叶子节点的数量//解决思路仍然是深搜#include <bits/stdc++.h>using namespace std; int maxleve

2022-03-03 00:02:16 441

原创 PAT甲级1039 Course List for Student (C++)

题意:第一行给出课表有的人数N,总课程数K。下一行就是K组,每一组包含学生编号,该学生的课程总数,最后给出十一个课程,求每一个课程的人数及编号。题解:建立哈希数组,利用map进行以ID为下标遍历。详细代码样例:#include <bits/stdc++.h>using namespace std;int main(){ int N,K; unordered_map <string,set<int>> MAP;//下标为string 用课程为下标查询学生ID

2022-03-02 23:11:07 121

原创 PAT甲级1012 The Best Rank (C++)

题意:第一行给出N,K分别是几个人,测试几个人,接下来N行为学生ID,C成绩,M成绩,E成绩。K行测试的学生ID,不存在则输出N/A。题解:建立学生结构体,包含学生ID、数组grade保存分数,rank数组保存后续的排名。利用结构体的快速排序,将排名赋值给rank。最后用map进行以ID为下标遍历。详细代码样例:#include <bits/stdc++.h>using namespace std;struct student{ string ID; int grade[4],ra

2022-03-02 19:29:24 396

原创 PAT甲级1022 Digital Library (C++)

题意:第一行给出N本书 接下来六行分别是编号 书名 作者 关键词 出版社 出版年月然后给出测试M行,每一行一个数字:关键词,通过关键词搜索这本书的ID。题解:通过建立以下标为关键字的哈希存储遍历,难点在于存储数据以及哈希的遍历,还有就是限制关键词在哪里查找,也就是如果第三行关键词有作者名,而查询是在第二行作者名中查找,则不能在第三行查找。详细代码样例:#include<bits/stdc++.h>using namespace std;int main(){ unordered_m

2022-03-02 18:31:31 485

原创 PAT甲级1021 Deepest Root (C++)

本题翻译:题目给第一行,输入多少对结点,后面就是输入节点1 2,这两个是连在一起的。求最深的节点。本题思路:利用深度搜索搜三次,第一次是判断是不是树,第二次判断随机最深的一个节点,第三次就是利用该节点,求另一端最远的节点。详细代码样例:#include <bits/stdc++.h>using namespace std;int N;int visited[100001]; vector <int> v[100001];int maxdis = 0;vector

2022-03-02 00:07:12 142

原创 PAT甲级1018 Public Bike Management (C++)

本题翻译:题目给出四个数字,分别是Cmax(每站最大的自行车容量),N(总站数),Sp(问题站),M(路数)第二行是站点的自行车数量接下来的N行是站点x,站点y,两个站点的距离。为了到达问题站,将问题占的自行车数量调整为Cmax/2,并且把顺路的站点自行车数量都调整为Cmax/2,问要从0号拿多少自行车,或者带回多少自行车。最短距离优先于拿自行车的数量优先于带回自行车的数量。也就是说,距离越短越好,距离相同的情况下,拿自行车数量越好越好,如果还是一样,那就带回的自行车数量越少越好。本题思路:利用

2022-02-28 01:18:58 255

原创 PAT甲级1003 Emergency (C++)

本题翻译:题目给出四个数字,分别是N(多少城市)、M(有几条路)、C1(初始城市)、C2(救援城市)第二行是给出五个城市分别有多少救援人员。接下来的N行是城市x,城市y,两个城市的距离。最后求到该城市的最短距离有几条路,在最短距离的情况下最多的救援人员是多少?本题思路:利用深度搜索进行图的遍历,寻找最短路径,顺带把救援人员进行统计。详细代码样例:#include <bits/stdc++.h>using namespace std;int N,M,C1,C2;int num

2022-02-25 23:20:11 443

原创 PAT甲级1024 Palindromic Number (Python)

本题翻译:题目给出两个数字,一个是N,一个是K,判断N是否为回文数字,如果不是,将N转换成回文数字后加N,再判断是否为回文数字,循环K次,直到看见回文数字为止,如果在K次循环之内没有看见回文数字,则输出循环了K次的数字,其中个位数默认是回文数字。本题思路:写两个函数,一个是判断回文函数,一个是将数字转换成回文数字。注意事项:本题一直不能通过,有好几个细节问题,最开始一测,只过了几个测试点,后来发现细节很多。1.个位数是否判断为回文数字。2.循环次数为0是否能输出。3.是否确保循环次数和回文次

2022-02-03 12:50:03 1071

原创 PAT甲级1019 General Palindromic Number (python)

本题翻译:给出两个数,一个十进制,一个进制转换数,将该十进制转换成某进制即可,输出该进制下的数是否为回文数,如果是则Yes,不是则No本题思路:本题基本考察回文数字和各类进制的转换,在之前的java刷题当中有写过进制的转换,难度不大,回文函数也不大,但仍然不明白为嘛代码就是只能通过一部分,呜呜呜~瑕疵代码:#判断回文数字函数def palindromic(m): a = list(reversed(m)) z = "" for i in a: z+=i

2022-01-30 13:49:12 1296

原创 PAT甲级1022 Digital Library (python)

本题翻译:数字图书馆,很多书,需要做个分类,给出第一个数字,共计多少本书,每本书有六条信息,分别是ID、书名、作者、关键词、出版者、出版年份。再给出查找信息,进行书本遍历查找即可。本题思路:本题基本是通过二维数组,将数据存储,再遍历查找,最后对查找的ID进行排序即可,注意,需要锁定给出的第几条信息进行遍历,可能查找的信息是第三条,但是第二条也满足,这样的书本不算查找成功的书本。未完全成功的代码:#甲级1022#多少本书m = int(input())a = [[] for i in rang

2022-01-30 13:41:18 797

原创 PAT甲级1013 Battle Over Cities (python)

思路1013 Battle Over Cities (25 分)题目就不抄了,思路翻译以一下就是:给出若干个城市n,以及哪些城市之间有路,题目要求解决的是:选取其中k个城市,其中一个被占领时,与之相关的路全部报废,问重新连接这些k-1个城市,至少要修几条路。从样例基本可以看出,这个图的问题,把图转为矩阵,解题思路就是回溯,有想法,但是代码只能部分通过:想法思路:其中3被占领与2基本一致python代码编写#甲级1013n = 0visit = [[False for i in ran

2022-01-29 13:29:31 561 1

原创 目标检测YOLOv5开源代码项目调试实战(数据处理模型训练)

制作数据集利用Colabeler可以制作数据集,对图片进行标注。导出voc模式如图所示,标注完后,可以导出voc模式准备好大量的数据之后,可以将数据集放在项目当中。在yolov5下面创建一个文件夹Power_data,在Power_data文件夹下面再建立一个标注文件夹Annotations,用来存放voc文件,建立ImageSets文件夹,用来存放图片,其中,图片名称和导出的voc名称需要一样,否则无法对应识别,把制作好的数据集复制粘贴进去即可。数据集处理完毕之后,我们需要把voc的数据处

2021-08-08 08:06:21 516

原创 目标检测YOLOv5开源代码项目调试实战(训练神经网络)

打开项目的train.py文件,找到各个参数1.weightdefault中的参数就是训练的网络模型,可以是初始的,也可以是训练好的,如果有训练好的,可以直接复制路径,从训练好的开始,继续训练,但是一般来说训练都是从头开始训练,可以去掉,为空,就是从初始话开始训练2.cfg设置当中的缩写,放在了modefl当中,打开可以看到一些基本参数,路径设置完了之后,就说明训练模型的结构就是yolov5s3.data指定的数据集,数据集的下载,训练的数据集在哪个地方,数据集的名字有哪些。4.hyp

2021-08-05 10:51:03 459

原创 目标检测YOLOv5开源代码项目调试实战(参数解析)

1.weights利用该参数用来调整训练模型,不同的yolov5模型(上一节为了运行起来,已经展示过何如解决下载慢的问题),识别的正确率不同2.source该参数是数据源,可以是图片,可以是视频,default可以进行一个修改按照这样的形式,粘贴进去就行了,包括视频也是按照该方法,如果是照片文件夹,则会将文件夹下的所有照片进行检测,视频是按照截取帧数形式进行识别,但是视频可能有些问题,识别完之后可能打不开,后面会进行一个对照片或者视频的实时测试。3.imag-size作用是将图片大小进行

2021-08-04 11:10:23 1801

原创 目标检测YOLOv5开源代码项目调试实战(项目环境配置)

1.Anaconda的环境创建与激活Anaconda打开后的界面是(base)但是一般我们不用基础环境,自己创建一个需求环境 ,否则anaconda的意义不大,一个项目创建一个环境,之后所有项目不会因为版本的原因而出现报错。创建虚拟环境咱先conda加入环境变量如图所示,找到anaconda的Scrips的包,将其放进环境变量中即可,后续可以直接在cmd当中使用conda命令,否则会出现 ‘conda’不是内部或外部命令,也不是可运行程序或批处理文件接下来可以直接进行对虚拟环境的创建,输入以下命

2021-08-03 18:16:17 1138

原创 python virtualenv Django 配置(pycharm)

前言:学微信小程序的时候,需要开始用后台,用的是Djongo框架来写后台,但是配置Django真的很让人吐血,花了整整两天的时间去配置,出现了各种错误,最后看见配置成功的页面实在让人心疼话不多说,从头开始1.先安装python,应该挺好安装的,官网下载,无脑安装,不过有个path路径 记得勾选一下哇2.安装Django首先找一个Django版本 官网都能够找得到 需要的都可以cue我安装好了用pip list看看自己安装成功了不按道理可以看见这五个,然后接下来就可以通过pip来安装虚拟

2021-02-08 19:55:34 392

原创 python 列表 元组 字典 集合 总结

python 列表 元组 字典 集合 总结1.列表1.列表创建用[ ]或者list()函数#直接创建#week1 = []#week2 = list()#带参创建week1 = [6, 7, 8, 9] week2 = list((1, 2, 3, 4, 5))print(week1, week2)输出:2.列表访问可以直接使用下标访问week1 = [6, 7, 8, 9] week2 = list((1, 2, 3, 4, 5))print(week1[2], wee

2021-01-26 16:01:33 753

原创 蓝桥杯全排列扩展(找零钱问题-java详解)

题目:有n个人正在饭堂排队买海北鸡饭。每份海北鸡饭要25元。奇怪的是,每个人手里只有一张钞票(每张钞票的面值为25、50、100元),而且饭堂阿姨一开始没有任何零钱。请问饭堂阿姨能否给所有人找零(假设饭堂阿姨足够聪明)输入格式第一行一个整数n,表示排队的人数。接下来n个整数a[1],a[2],…,a[n]。a[i]表示第i位学生手里钞票的价值(i越小,在队伍里越靠前)  输出格式:  输出YES或者NO  样例输入  4  25 25 50  样例输出:  YES整体思路很显然,这道题

2020-10-05 20:25:27 464

原创 java实现全排列(有重复)

全排列(有重复)上一部分的全排列是无重复的,咱们遍历的条件就是想办法让每一个数字只选择一次,选择过了 ,咱们就不选,利用continue跳过,但是如果有重复数字在里面,我们恐怕就不能用数字是否重复来判断这个数字是否选择了,如果这样判断的话,我们数字会永远缺了重复的那个数字。整体思路:整体思路其实就是上一部分无重复的全排列思路非常像,我们开始利用的是数字不重复来选取需要的数字,那么我们现在可以通过序号是否取过,取过咱们就不要,也就是说,另外开取一个容器,来装取出数字的序号,然后判断这个序号是否取过了,如

2020-10-04 19:37:38 3080 2

原创 java实现全排列(无重复)

全排列全排列就是将一串数字排列组合 列出所有的情况,分成有重复的和无重复的,一般来说没有重复数字的比有重复数字的更难的一些,不过大体思路都差不多,都需要用到回溯算法整体思路:1.就是把数字一个一个遍历,发现符合条件就加进去,不符合条件的就跳出去,那么这个容器就用ArrayList的形式那么代码就是:·public class number{ static ArrayList<String> w = new ArrayList();//符合条件的一组,就往里面装,装的是String类型

2020-10-03 18:57:38 2325

原创 蓝桥杯 算法训练 拦截导弹 动态规划(java详解)

拦截导弹(动态规划)ALGO-13VIP 算法训练 拦截导弹问题描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入

2020-08-17 14:13:55 1785 4

原创 蓝桥杯 算法训练 回文数 (各种进制算法)

回文数**问题描述  若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。  例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。又如:对于10进制数87:  STEP1:87+78 = 165 STEP2:165+561 = 726  STEP3:726+627 = 1353 STEP4:1353+3531 = 4884在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。写一个程序,给定一个N(2<

2020-08-16 10:57:26 1852

原创 蓝桥杯模拟训练(算法训练 幂方分解)java详细思路

算法训练 幂方分解问题描述  任何一个正整数都可以用2的幂次方表示。例如:  137=27+23+20  同时约定方次用括号来表示,即ab 可表示为a(b)。  由此可知,137可表示为:  2(7)+2(3)+2(0)  进一步:7= 22+2+20 (21用2表示)  3=2+20  所以最后137可表示为:  2(2(2)+2+2(0))+2(2+2(0))+2(0)  又如:  1315=210 +28 +25 +2+1  所以1315最后可表示为:  2(2(2+2(0

2020-08-12 15:58:48 299

原创 刷Pat的一些小总结(1)

1.字符串判定是否含有某字符串可以利用.containsString temp = "abcde"if(temp.contains("a")){System.out.println("YES");}2.将字符串当中的某个字符替代为另一个字符可以利用.replace String temp ="abced"; temp=temp.replace("a","A"); System.out.println(temp); temp=temp.replace("b",""); Syst

2020-07-16 18:05:46 169

原创 利用BufferedReader替代Scanner(提高效率)

1.直接读取一个数字:用Scanner:Scanner in = new Scanner(System.in);int a = in.nextInt();用BufferedReader:说明一下:因为我查了很多,就不太清楚BufferedReader能不能除了字符串之外的类型,如果可以的话,就麻烦大佬私聊我一下,感激不尽!所以我后面都是用BufferedReaderl来读取字符串,再将字符串转为自己所需要的类型...

2020-07-14 15:27:08 1311

原创 PAT乙级1001(详细思路)

卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单

2020-07-03 19:52:15 558

原创 安装Navicat和数据库(内附超旧版本MySQL链接)

MySQL昨天刚刚接触数据库,然后下载,安装,配置巴拉巴拉的,居然给弄好了,然后来记述一下我是怎么认真操作(歪打正着)的~下面是链接↓链接:link提取码:otov链接地当中当中有三个东西:首先:然后出现的这个:...

2020-05-25 19:46:41 832

原创 java实现链表(储存,删除,插入,遍历)

数据结构之实现链表之前一直使用的是c语言学习数据结构,但是总体理解度不高,实在是难以理解,于是开始尝试利用java学习数据结构,理解程度不高,有错误可以指出(谢谢大佬~)进入正题:使用c语言学数据结构的时候,我之所以不能够理解链表的原因是其中的指针,以及其中的地址,但是经过一些地询问大佬,有了不少的理解,实现链表无非就是需要一个两个变量,一个是存放内容,一个是用来指路,也就是指向下一个节点,这个在c语言当中是有结构体的,在java当中可以用类来代替,然后这个指向下一个节点和自身的类相同,所以其中有一个

2020-05-20 17:30:03 1245

原创 java实现班级信息存储、删除、修改(使用list篇)

改进一下之前不用list实现的班级信息的储存、删除、修改。思路:1.与上篇一样写好基本信息2.利用list当中的add,remove等实现存储,删除,修改step 1:写好基本信息

2020-05-13 19:22:21 1665

原创 java实现班级信息存储、删除、修改(不用list篇)

总结一下最近学习的java可以不利用list来实现班级信息存储、删除、修改,也就是说有一点像数据结构的感觉,我会从班级属性的创建,到数据结构的简单算法都写得尽可能详细~思路:1.需要创建班级的属性,比如班级编号和班级姓名。2.设计简单算法实现存储、删除、修改。3.设计主函数并实现。step1:先把基础信息写好:public class Class{ String cName; int cNo; public Class(String cName,int cNo) { this.cN

2020-05-13 15:52:21 998

原创 CSS段落小处理

CSS样式总结如何处理文字段落first类处理文段英文字段的处理CSS插入图片,控制图片的上下左右都居中先要导入CSS的样式:<link rel="stylesheet" type="text/css" href="beauty.css">第一段是中文,段落文字:加粗、红色、字符间隔20px、行高30px,首行文字颜色:黄色,第一个文字的颜色是蓝色。如何处理文字段落1.加粗:font-weight: bolder;2.添加字体颜色 color:red ;:3.字符间隔: lette

2020-05-09 16:43:07 289

原创 javaSE制作简易QQ登陆页面(后篇)

之前博客大概介绍了IO流技术,已经利用IO流技术来存储QQ的聊天记录,现在也就是最后一步,实现QQ聊天的页面,也就是如何先显示登陆页面,经过简单验证并且正确之后,登陆页面消失,弹出的是发送页面,整个QQ聊天页面也就完成了!实现的要点就一个1.登陆页面的验证2.登陆页面的消失,主页面的出现发送页面基本没有变化package QQFrame;import javax.swing.*;im...

2020-05-05 19:51:08 288

空空如也

空空如也

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

TA关注的人

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