自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 递归入门,例题详解,汉诺塔问题,全排列问题,整数划分问题,两数相加,交换链表相邻节点,快速幂

对于阶乘n!,也就是从1一直乘到n,我们可以很简单的使用一个for循环来解决这个问题,但是如果使用递归的思路,那么我们需要思考如果将当前的问题分解为规模更小的问题,对于n的阶乘,我们如何将n的规模减少呢,想象比如我们现在已经有了n-1的阶乘,那我们就可以很容易地得出nn∗n−1这样就可以把求n的阶乘转化为求n-1的阶乘,我们进而对n-2求阶乘,这样一直往下分解直到边界条件,众所周知递归三要素:函数,边界,递推公式,接着我们思考这个问题的边界条件,我们可以一直减一直到无穷无尽吗?

2023-09-04 19:49:34 556

原创 NoSQL MongoDB Redis E-R图 UML类图概述

NoSQL(Not only SQL)是对不同于传统的关系数据库的数据库管理系统的统称,即广义地来说可以把所有不是关系型数据库的数据库统称为NoSQL。NoSQL 数据库专门构建用于特定的数据模型,并且具有灵活的架构来构建现代应用程序。NoSQL 数据库使用各种数据模型来访问和管理数据。这些类型的数据库专门针对需要大数据量、低延迟和灵活数据模型的应用程序进行了优化,这是通过放宽其他数据库的某些数据一致性限制来实现的。

2023-08-28 18:34:39 1916

原创 详解Single-Shot Alignment Network (S2A-Net) ,详解AlignConv,基于遥感图像的特征对齐旋转目标检测

Single-Shot Alignment Network (S2A-Net)是单阶段的目标检测器,包含FAM和ODM。FAM(特征对齐模块)使用ARN产生高质量的锚点,使用AlignConv根据对应的锚框将特征对齐,该网络在特征图中每一个位置只使用一个方形的锚点,然后ARN将该锚点改进为高质量的旋转锚点。接着AlignConv对齐卷积层根据相应锚点的形状、大小和方向将特征排列起来。ODM使用ARF将方向信息编码,提供对方向敏感的特征,接着通过池化对方向敏感的特征提取出方向不变的特征,最后将特征分别输入回归

2023-07-15 17:24:57 1975

原创 2023.4.23 自注意力机制

一般都是单向量输入,但是如果多向量输入应该如何处理呢?引出自注意力机制多向量输入可能会有多种输出,如果输入n个向量,输出n个向量表明这是sequence labeling,比如对于一个英文句子,每一个单词都判断是什么词性输入n个向量,输出1个向量,这是常见的classification问题,也就是分类问题,比如通过语音识别出是哪个人。

2023-04-23 22:32:58 616 1

原创 PAT甲级1013 Battle Over Cities

这道题首先给我们一个图,然后让我们求把图中的某个点去掉之后,剩下的点至少还需要恢复几条路才可以成为连通图,我们把去掉那个点之后,每一个连通的那一部分当成一个点,也就是一个连通分量,问题就变成了剩下的n个点,恢复几条边能使他们连通,只需要n-1条边即可。任何连通图的连通分量只有一个,即是其自身,非连通的无向图有多个连通分量。简单来说就是如果一个图任何一点都可以到达,那么这个图就是连通图,连通图只有一个连通分量,而对于不是连通图的图来说,有几部分就是几个连通分量。首先解释一下连通分量。

2023-03-01 00:14:25 98

原创 PAT甲级1012 The Best Rank

平均数需要用四舍五入,我这里使用了增加0.5然后强制类型转化为int这种方法,lrk存储的是每个学生的最好排名,我们要输出的就是这个最好排名,然后按照优先级依次用A C M E跟这个比较, 相等的话直接输出即可。我使用了map充当学号和id的映射,输入学号mp可以直接得出这个人的id,排四遍序之后现在的序列已经乱了,所以我们需要再用id排一次。如果有相同分数的情况下我们是这样排序的,1 1 3 4 5而不是1 1 2 3 4,把排名判一遍即可。

2023-02-27 23:33:45 75

原创 PAT甲组1011 World Cup Betting

超级无敌大水题,把每行最大的找出来即可得出答案,创建一个字符数组用来输出。

2023-02-27 21:29:02 62

原创 PAT甲级1010 Radix

所以在二分的时候,如果太大我们不仅需要当前进制的值大于另一个数,而且我们还需要判断一下是不是变成了负数,变成负数也是相当于太大。可以使用二分是因为后面的进制得出的数一定比前面进制得出的数要大,满足单调性所以可以使用二分。不用二分,单纯从前往后模拟不能获得满分,超时所以只能选择二分。

2023-02-27 21:17:39 102

原创 PAT甲级1009 Product of Polynomials

题意就是两个多项式相乘,我们定义一个结构体poly存每一项的系数和指数,定义ans数组用来存答案式子的系数,用指数当下标,两项相乘其实就是系数相乘,指数相加,我们把系数相乘的结果存到对应的指数既可,maxx用来存指数最大的那一项是哪一项,题目中已经给出了从前到后指数递减。

2023-02-27 15:59:56 59

原创 PAT甲级1008 Elevator

记住每次停的时候直接加5秒即可,不要想一些其他情况,题目给的有些模糊,我就是想太多第一次错了一部分。超级无敌大水题,完全是来送分的。

2023-02-27 15:03:18 55

原创 PAT甲级1007 Maximum Subsequence Sum

这道题其实就是求一个序列中的最大连续子序列的问题。

2023-02-27 14:50:39 57

原创 PAT甲组1006 Sign In and Sign Out

定义early和late两个函数来判断两个时间哪个更早和哪个更晚,后来我发现一个函数就够用了,late就是你转换条件用early函数即可,第一个人我们直接把他的上下班时间记录下来,后面的我们都用他们的上班和下班时间跟最早的上班和最晚的下班时间作比较,如果更早或者更晚我们就记录下来。我定义了一个timeme的结构体用来保存每个人上班下班的时间,里面有hms分别对应小时分钟和秒,id记录对应人的id号,最后用来查找名字。

2023-02-26 22:20:51 58

原创 PAT甲级1005 Spell It Right

我们定义一个s字符串数组,里面存放从0到9的英语,定义一个字符串ans作为答案,初始为换行(这个无所谓,我看样例答案都会带一个就写了)然后倒序对每一位数字翻译为英语即可。这道题目非常简单,意思就是把题目给的一串数字加起来,然后根据结果从前到尾一位一位翻译成英语即可。

2023-02-26 22:00:07 50

原创 PAT甲级1004 Counting Leaves

我使用了r数组表明两个节点是否有父亲孩子的关系,r[x][y]如果为1表明x是y的父亲,这是一种单向关系,x如果是y的父亲,那么y就不能是x的父亲,我又使用了一个数组c来记录每个节点都有多少个孩子,还有一个变量deep记录我们这颗树的深度,在每次dfs搜索过程中维持deep的值即可,如果当前dfs的这个节点没有孩子,那么当前深度的ans数组加1即可,如果有孩子那么就遍历孩子。这道题考的是树,我们使用dfs遍历把每个节点的深度都得到,然后建立一个ans数组保存当前深度都有几个节点没有孩子即可。

2023-02-26 21:37:27 84

原创 PAT甲级1003 Emergency

如果搜索过程已经到了终点,首先判断当前路径花费是否小于最短路径的花费,如果小于最短路径花费,那么更新最短路径的花费,ans记录的是最短花费路径的数目,直接设为1,因为之前ans记录的是之前最短路径花费的数目,但是现在表明之前的路径不是最短路径,所以需要把ans置为1,因为目前的最短花费路径找到了一条,同时更新ansx,ansx记录的是最短花费路径所得到的权值,之前的路径不管权值多大都不是最短花费路径,所以我们需要舍去直接取当前最短花费路径的权值和。

2023-02-26 19:31:01 74

原创 PAT甲级1002 A+B for Polynomials

这道题目非常简单就是给两个多项式,我们只需要把这两个多项式相加并输出即可,我定义了一个ans数组用来记录每一项的系数是多少,而ans中的下标代表这一项的指数,比如ans[1]就存着指数为1的系数,在输入时我们直接把两个多项式的系数输入即可。由于题目中输入已经是指数递减的情况,所以我们只需要存一下这两行第一个指数,最后就从这个指数递减寻找系数不为0的项输出即可。

2023-02-26 18:42:05 41

原创 PAT甲级1001 A+B Format

将a和b的和求出来然后存入一个字符串中,我们对这个字符串倒序处理,每次到三的倍数并且前面还有数字的话就需要加一个逗号,最后根据是否为负数添加一个负号即可,如果为0的话需要特判一下。

2023-02-25 01:01:06 54

原创 Mybatis解决多条件查询不能得到正确SQL的两种方法 恒等式 where标签

Mybatis解决多条件查询不能得到正确SQL的两种方法 恒等式 where标签

2022-11-08 00:45:26 1089

原创 【超详细,面向初学者】如何用Idea快速创建一个MyBatis项目?导入坐标-创建数据库-成功运行示例

超详细,面向初学者,如何用Idea快速创建一个MyBatis项目?

2022-11-06 19:32:29 2515

原创 java Spring框架 XML配置和注解配置的区别

java Spring框架 XML配置和注解配置bean的区别

2022-11-06 00:05:47 820 2

原创 用java判断回文数的两种方法

java判断回文数的两种方法

2022-07-16 11:32:29 4389 1

原创 不过特定点的迪杰斯特拉算法

不过特定点的迪杰斯特拉算法

2022-07-06 22:27:57 103

原创 矿大数据结构实验 迪杰斯特拉求最短路径并求出路径

矿大数据结构实验 迪杰斯特拉求最短路径并求出路径

2022-06-27 21:54:23 518

原创 代码解析 最短路径 排序

代码解析 最短路径 排序

2022-06-23 11:00:54 425 1

原创 代码解析 折半查找 二叉搜索树

代码解析 折半查找 二叉搜索树

2022-06-23 10:27:28 363

原创 矿大数据结构实验四 折半查找 二叉搜索树 最短路径 排序

矿大数据结构实验四 折半查找 二叉搜索树 最短路径 排序

2022-06-23 09:58:24 1203 3

原创 一排里的位置交换 围成圈 十进制整数转二进制 进出栈 栈容量 自创语言 离队 入队

一排里的位置交换 围成圈 十进制整数转二进制 进出栈 栈容量 自创语言 离队 入队

2022-06-17 19:39:08 379 2

原创 树的前序中序后序遍历 树如何找根 树的高度

树的前序中序后序遍历 如何找根 树的高度

2022-06-17 19:29:22 307

原创 二叉树的层次遍历 小根堆的判定和构造 图的深度和广度优先搜索 最小生成树

二叉树的层次遍历 小根堆的判定和构造 图的深度和广度优先搜索 最小生成树

2022-06-16 18:44:51 902 7

原创 两种做法 P1087 [NOIP2004 普及组] FBI 树 队列和递归

我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为 B 串,全“1”串称为 I 串,既含“0”又含“1”的串则称为 F 串。FBI 树是一棵二叉树,它的结点类型也包括 F 结点,B 结点和 I 结点三种。由一个长度为 2N 的“01”串 S 可以构造出一棵 FBI 树 T,递归的构造方法如下:(1) T 的根结点为 R,其类型与串 S 的类型相同;(2) 若串 S 的长度大于 1,可将串 S 从中间分开,分为等长的左右子串 S1 和 S2;由左子串 S1 构造 R 的左子树 T1,由右子串

2022-06-09 11:06:55 599

原创 快速上手golang

goland第一个程序 Hello, Golangpackage mainimport ( "fmt")func main() { fmt.Println("Hello, Golang")}第一句类似与java语言中的打包,用package main定义包名为main,package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。然后导入fmt这个库,fmt主要实现格式化IO(类似于C++中的cstdio这个头文件,这个包中有类似于sc

2022-05-07 22:53:09 779

原创 4个结点组成的二叉树有__不同的形态

我们定义f(n)表明结点为n的二叉树的形态数一个结点只有一种情况,记f(1)=1两个结点的二叉树,固定一个结点后,剩下左右子树各有一种情况,f(2)=f(1)+f(1)如果有三个结点,我们如果固定两个结点是不太好的,因为两个结点的二叉树有好多种,不便于推理。我们固定根节点,那么剩下两个结点我们可以分配给左右子树,分别有三种情况左子树两个右子树零个左右子树分别一个右子树两个左子树一个那么f(3) = f(2)*f(0)+f(1)*f(1)+f(0)*f(2)那么f(0)是多少呢,没有

2022-04-29 23:40:04 5361

原创 在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是

在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是:设有n个结点,n0表明出度为0的结点,n1为出度为1的结点,以此类推那么 n = n0 + n1 + n2 +…我们设边的个数为e,而在树中,边的个数刚好为结点-1e=n-1出度为t的结点能连t条边,出度为t-1的结点能连t-1条边,以此类推,我们可以得到边数和出度数之间的关系e = t * nt + (t-1) * n(t-1) + … + 1*n1 + 0 *.

2022-04-29 23:29:26 3318

原创 【递推】贴瓷砖

递推百度百科上是这样解释的:递推算法是一种用若干步可重复运算来描述复杂问题的方法。递推是序列计算中的一种常用算法。通常是通过计算前面的一些项来得出序列中的指定项的值。而简单来说递推就是从已知的规律一步步推向未知的信息。该有人说了,就算你把定义背下来也没有用啊,知道定义也不会做题,那么我们先引入一道例题地上有n个石头从左到右排成一排,司余同学养的青蛙要从第一个石头跳到最后一个石头上,每次可以选择向右跳一格或者跳两格,问总共有多少种不同的走法?答案对998244353取模。这道题该怎么做,由于

2022-04-14 23:51:49 894

原创 二分问题中的“差一点”

首先引入一个问题有一个从小到大排好序的数组,你要找到从右向左数第一个小于等于x的数字,应该怎么做?我们很容易想到这样的一种二分做法,从右向左数第一个小于等于x的数字,也就是从左往右数最后一个小于等于x的数字,取到左边界和右边界,每次取到中间值和x比较,如果中间值小于等于x那么就把中间值当作左边界继续二分查找,也就是下面的C++代码while(L<R) { int mid=(L+R)>>1; if(a[mid]<=x) L=mid;

2022-04-12 22:58:48 425 1

原创 python虚拟环境搭建

虚拟环境不同项目之间可能使用到的库之间的版本不相同,比如项目一需要用到redis2.0这个版本,而项目二需要用redis2.3这个版本,但是如果我们都在python根目录下载,一次只能存在一个版本,如果需要其他版本每次都需要卸载重下,这个时候就可以用到虚拟环境。我们可以为每个项目都创建一个虚拟环境,各个虚拟环境之间相互不干扰,需要什么库可以直接下载。安装虚拟环境pip install virtualenv创建虚拟环境virtualenv 环境名如果有多个python脚本,可以通过下面命令来

2022-03-13 14:48:17 775

原创 【C++】MOOC作业 三角形类

题目内容:先定义一个能描述平面上一条线段的类Beeline,包含私有数据成员为线段两个端点的坐标(X1,Y1,X2,Y2),在类中定义形参默认值为0的构造函数,计算线段长度的公有成员函数Length(),显示线段两个端点坐标的公有成员函数show()。然后再定义一个能描述平面上三角形的类Triangle,其数据成员为用Beeline定义的对象line1,line2,line3。在类中定义的构造函数要能对对象成员进行初始化。再定义计算三角形面积的函数Area()及显示三条边端点坐标及面积的函数Print()

2022-01-06 20:50:38 646

原创 【C++】MOOC作业 日期类(友元函数+this指针+引用)

题目内容:设计一个日期类(Date),用来实现日期的操作。包括一个空构造函数,三个成员函数,其余所需自行决定。用成员函数setDate()用来给Date类设置日期。用成员函数isLeapYear()用来判断是否是闰年。用成员函数getSkip(Date o)用来计算两个日期之间相差的天数。输入格式:输入两个日期,输入格式参考样例。输出格式:判断两个日期是否是闰年,以及两个日期的间隔天数,输出格式参考样例。输入样例: 2012 10 20 2017 11 07输出样例:

2022-01-06 20:06:19 439

原创 【C++】变化的形状(类+虚函数+多态)

题目描述运用多态编写程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea()分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。输入圆的半径 矩形的边长 三角形的底与高输出圆的面积矩形的面积三角形的面积注意:每一行后有回车符样例输入12.6 4.5 8.4 4.5 8.4样例输出area of circle=498.76area of rectangl

2021-12-31 10:42:51 489

原创 【C++多态】小明的水果店(类+多态+运算符重载)

题目描述小明经营着一个不大的水果店(似曾相识哦~),只销售苹果、香蕉和桔子。为了促销,小明制定了如下定价策略:苹果:按斤论价,每斤P元,买W斤,则需支付W*P元。香蕉:半价,每斤P元,买W斤,则需支付W/2*P元。桔子:按斤论价,每斤P元,买W斤。如果W>10,则打半价,即需支付W * P/2元;否则如果W>5,则打八折,即需支付W * P * 0.8元;其他情况不打折,即需支付W*P元。请用C++来计算某个顾客采购的水果的总价。该程序至少应有:Fruit类:是个抽象类,是Appl

2021-12-31 09:59:24 3621

qt矿大程序设计综合实践设计报告,简单计算器、拼图游戏、多文档文本编辑器

qt大二矿大程序设计综合实践设计报告,简单计算器、拼图游戏、多文档文本编辑器

2023-03-30

空空如也

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

TA关注的人

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