自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Opencv4 c++ 自用笔记 05 形态学操作

图像形态学主要获取物体的形状与位置信息。利用具有一定形态的结构元素度量和提取图像中的对应形状,达到对图像分析和识别的目的。操作主要包括腐蚀、膨胀、开运算和闭运算。

2025-06-03 10:07:14 420

原创 Opencv4 c++ 自用笔记 04 图像滤波与边缘检测

本文介绍了图像处理中的滤波与边缘检测技术。主要内容包括: 图像滤波方法:线性滤波(均值、方框、高斯滤波)和非线性滤波(中值、双边滤波),用于去除噪声和突出特征; 边缘检测算子:Sobel、Scharr、Laplacian和性能优良的Canny算法,可识别图像中的边缘信息; 卷积原理:通过卷积核滑动检测局部特征,具有参数共享和位移不变性优势; OpenCV实现:提供了各算法的函数接口及参数说明,如filter2D、blur、Sobel等。 这些技术是图像预处理和特征提取的基础,在计算机视觉中有广泛应用。

2025-06-03 05:55:40 667

原创 Opencv4 c++ 自用笔记 03 滑动条、相机与视频操作

上述代码中实现了利用滑动条调整二值化图像中的阈值,核心在于callback函数对图像的更新。只能读取静态图像,若要读取视频文件或摄像头流,需要使用。等,-1为自动采用合适的编解码器。为当前滑动位置,可用全局变量或。:输出文件路径及名称(带后缀):滑动条的当前值(整型指针):用户自定义数据指针(可选):回调函数,每次滑动时调用。:视频分辨率(宽, 高)

2025-05-30 20:06:53 812

原创 Opencv4 c++ 自用笔记 02 图像操作

threshold中只有一个全局全阈值,会受到阴影与光照的影响。在adaptiveThreshold()中提供了两种局部自适应阈值的二值化方法。这个函数会将灰度图像转化为二值图像,通过均值法或高斯法自适应计算邻域内的阈值,随后再进行二值化。OpenCV 中常见的颜色空间包括:BGR、RGB、GRAY、YUV、HSV、Lab 等。二值图像中只有两个值,即原图像中的灰度最大值与最小值。在threshold()中,原图像只能是CV_8U或CV_32F。操作数(及结果)的尺寸、通道数和数据类型必须一致。

2025-05-30 05:30:20 471

原创 Opencv4 c++ 自用笔记 01 Mat类

Scalar中的变量个数要与通道数相等,否则不会被读取或填充为0。利用已有的Mat进行构造,m为已构造好的Mat类型数据。运算中要求矩阵类型相同,并且常数与矩阵运算时保留矩阵类型。(单通道为灰度图像,3通道或4通道为彩色图像)中包含矩阵形状、存储方法、地址、引用次数等。Mat类间赋值仅复制了矩阵头和矩阵指针,uchar 和 CV_8U 虽然都表示。Mat类用来保存矩阵类型的数据,包括。利用矩阵尺寸和数据类型构造。利用Size结构构造。指向存储的矩阵数据。整个矩阵(浅拷贝)。构造已有Mat的子类。

2025-05-29 01:20:43 278

原创 LeetCode100.8 无重复字符的最长子串

对于这题,有一个朴素的思路:双指针遍历一遍原字符串,利用哈希表统计其中的字符是否出现,若右指针所指的字符与左指针相同,则删除左指针所指字符。在此过程中更新最大长度。

2025-05-29 00:59:16 225

原创 LeetCode100.7 接雨水

首先计算每一个高度的体积,相加即为总体积,减去sum(height)即为水的体积。对于这题,有一个非常直观简洁的思路:水量等于柱子围成的体积减去柱子的体积。

2025-05-14 14:29:00 253

原创 LeetCode100.6 三数之和

对于这题,要直接三层循环的话复杂度太高,可以尝试排序后找到能与最大两个数相加为0的数,随后以此为起点进行双指针。这样复杂度就降为了O(n3)

2025-05-14 13:28:47 178

原创 LeetCode100.5 盛最多水的容器

那么使用双指针,在每次移动时,只移动其中最短的那个,因为若移动最长的那个,体积不会变大。对于这题,首先明确的是:盛水的体积取决于两垂线间的距离与两垂线中最短的长度。

2025-05-14 12:59:38 268

原创 LeetCode100.4 移动零

不能复制数组,必须原地操作,只能用双指针了。一个正常遍历数组,另一个记录最左侧0的下标。

2025-05-14 02:47:21 175

原创 LeetCode100.3 最长连续序列

注意,需对哈希表循环,而非原数组,否则会超时。原因是unordered_set是按照一定的bucket顺序排列的,对nums遍历会破坏这样的顺序,造成访问内存不连续。同时如果nums中有重复元素,那么会造成重复判断,存入unordered_set也是一个去重的过程。将原vector转化为unordered_set,遍历这个哈希表,如果某个数-1可以在表中被找到,说明这个数不是起点,直到找到可以作为连续串起点的数,再以这个数为起点计算长度。如此循环一遍,即可得出答案。要怎样不排序定位一段连续串呢?

2025-05-14 02:23:35 160

原创 LeetCode100.2 字母异位词分组

观察题目,需要把strs中的元素按照字母进行归类,一个朴素的思路是:遍历strs,对每个元素排序后插入哈希表中,随后再遍历一遍表将其转化为vector<vector<string>>。

2025-05-14 01:55:06 245

原创 LeetCode100.1 两数之和

今天晚上看了许多关于未来计算机就业的视频,有种正被贩卖焦虑的感觉,翻来覆去下决定先做一遍leetcode100给自己降降温,打算每周做四题,尽量尝试不同的方法与不同的语言。时间复杂度为O(n²),对于算法来说还是偏高了。回顾过程,最耗时间且最可能被优化的貌似是寻找值为target-nums[i]的循环,故使用哈希表。发现对于java的Map用法还是不够熟悉,得找时间再复习一下javase了。一开始想到的是暴力解法,两层循环。数据量为1e4,所以肯定能过。

2025-05-14 01:36:30 208

原创 Day01 配置Clion与CubeMX开发环境

此时界面下方会提示“缺失配置文件”,我们回到根目录新建config文件夹,根据你使用的仿真器类型,在config下新建一个.cfg配置文件。按下板子上的复位,led就会开始闪烁,我们的代码已经在开发板上运行了。安装好Clion与CubeMX后,安装openOCD与arm-none-eabi-gcc,并录入系统变量。创建前可能会需要openOCD的目录,将openOCD安装目录下的bin/openocd填入即可。准备好我们的开发板与stlink,用杜邦线将其正确连接后,将stlink与电脑连接。

2025-04-27 15:55:29 444

原创 Ubuntu22.04下启动labelme时解决“qt.qpa.plugin: Could not load the Qt platform plugin “xcb“”错误的尝试

结果依然启动失败,此时再分析报错路径,疑似是与opencv的qt库绑定了,故卸载了opencv-python。

2025-04-21 21:22:47 178 1

原创 P3420 [POI 2005] SKA-Piggy Banks

现在已知每个钥匙所在的存钱罐,Byteazar 想要买一辆小汽车,而且需要打开所有的存钱罐。然而,他想要破坏尽量少的存钱罐,帮助 Byteazar 去决策最少要破坏多少存钱罐。第一行包括一个整数 N (1≤N≤1000000),表示 Byteazar the Dragon 拥有的存钱罐的数量。接下来有 N 行:第 i+1 行包括一个整数 x,表示第 i 个存钱罐对应的钥匙放置在了第 x 个存钱罐中。仅一行:包括一个整数,表示能打开所有存钱罐的情况下,需要破坏的存钱罐的最少数量。

2025-04-20 02:30:55 249

原创 2024 CAIP 省赛本科组 RC-u4 章鱼图的判断

对于无向图 G=(V,E),我们将有且只有一个环的、大于 2 个顶点的无向连通图称之为,因为其形状像是一个环(身体)带着若干个树(触手),故得名。给定一个无向图,请你判断是不是只有一个章鱼子图存在。

2025-04-17 02:40:43 209

原创 2024 CAIP 省赛本科组 RC-u5 工作安排

小 K 有 N 项工作等待完成,第 i 项工作需要花 ti​ 单位时间,必须在 di​ 时刻或之前完成,报酬为 pi​。假设小 K 工作时刻从 0 开始,且同一时刻只能做一项工作、工作一旦开始则不可中断或切换至其他工作,请你帮小 K 规划一下如何选择合适的工作,使小 K 可以获得最多的报酬。

2025-04-17 02:21:25 254

原创 P3367 【模板】并查集

当 Zi​=2 时,输出 Xi​ 与 Yi​ 是否在同一集合内,是的输出。对于每一个 Zi​=2 的操作,都有一行输出,每行包含一个大写字母,为。第一行包含两个整数 N,M ,表示共有 N 个元素和 M 个操作。接下来 M 行,每行包含三个整数 Zi​,Xi​,Yi​。当 Zi​=1 时,将 Xi​ 与 Yi​ 所在的集合合并。如题,现在有一个并查集,你需要完成合并和查询操作。本题为模板题,只需要实现并查集的主要功能即可。数据范围较大,需加入路径压缩。

2025-03-22 10:06:35 220

原创 P1629 邮递员送信

有一个邮递员要送东西,邮局在节点 1。他总共要送 n−1 样东西,其目的地分别是节点 2 到节点 n。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有 m 条道路。对于这题,由于每次运送完物品后需返回邮局,可以将其看作为求从节点1到其他节点的最短路径与从其他节点到节点1的最短路径的和。第二行到第 (m+1) 行,每行三个整数,u,v,w,表示从 u 到 v 有一条通过时间为 w 的道路。第一行包括两个整数,n 和 m,表示城市的节点数量和道路数量。输出仅一行,包含一个整数,为最少需要的时间。

2025-03-21 02:07:37 372

原创 P9242 [蓝桥杯 2023 省 B] 接龙数列

对于一个长度为 K 的整数数列:A1​,A2​,…,AK​,我们称之为接龙数列当且仅当 Ai​ 的首位数字恰好等于 Ai−1​ 的末位数字(2≤i≤K)。例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。现在给定一个长度为 N 的数列 A1​,A2​,…,AN​,请你计算最少从中删除多少 个数,可以使剩下的序列是接龙序列?

2025-03-06 15:29:33 338 2

原创 P9240 [蓝桥杯 2023 省 B] 冶炼金属

这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 V 时,无法继续冶炼。现在给出了 N 条冶炼记录,每条记录中包含两个整数 A 和 B,这表示本次投入了 A 个普通金属 O,最终冶炼出了 B 个特殊金属 X。根据这 N 条冶炼记录,请你推测出转换率 V 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况。注意到,对于每一个记录中的V,最大值为O/X,而最小值为O/(X+1)

2025-03-06 15:04:13 285

原创 P6427 [COCI 2008/2009 #1] PTICE

然而,他们并不知道所有的申请者都必须通过加入俱乐部的考试。不幸的是,他们不能区分各种鸟类,所以他们试图猜测正确的答案。对于这题,通过观察每个人的答案规律,可以用0、1、2表示A、B、C,用余数表示各人的答案。从第二行开始,输出答对题目数最多的人的名字(每行一个,按照字典序输出)写一个程序,根据给出的正确答案,确定三个人中谁对的题目最多。第一行输出一个整数 m,表示三个人中做对题目最多的数量。第一行一个整数 n,表示考试的题目数量。第二行一个长度为 n 的字符串(只包含。三种字符),表示考试的正确答案。

2025-03-05 21:13:32 282

原创 P10265 [GESP样题 七级] 迷宫统计

在神秘的幻想⼤陆中,存在着 n 个古老而神奇的迷宫,迷宫编号从 1 到 n。有的迷宫之间可以直接往返,有的可以⾛到别的迷宫,但是不能⾛回来。现在,他需要你帮助他统计:有多少迷宫可以直接到达 m 号迷宫,m 号迷宫可以直接到达其他的迷宫有多少,并求出他们的和。对于第 i 行第 j 列的整数,1 表示能从 i 号迷宫直接到达 j 号迷宫,0 表示不能直接到达。一行输出空格分隔的三个整数,分别表示迷宫 m 可以直接到达其他的迷宫有多少个,有多少迷宫可以直接到达 m 号迷宫,这些迷宫的总和。

2025-03-01 22:10:08 252

原创 pytorch与深度学习随记——AlexNet

尽管AlexNet架构已经相对较久远,但其在AI教育等方面仍有重要意义。AlexNet架构的创新点。pytorch代码实现。AlexNet历史意义。

2025-03-01 22:07:39 487

原创 Pytorch构建LeNet进行MNIST识别 #自用

LeNet是一种经典的卷积神经网络(CNN)结构,由Yann LeCun等人在1998年提出,主要用于手写数字识别(如MNIST数据集)。作为最早的实用化卷积神经网络,LeNet为现代深度学习模型奠定了基础,其设计思想至今仍被广泛采用。LeNet验证了CNN在图像任务中的有效性,启发了后续模型(如AlexNet、VGG)。尽管现代网络更复杂,但其“卷积-池化-全连接”的基础架构仍源于LeNet。输入为32x32像素的灰度图像(如手写数字扫描图),经过归一化处理。

2025-03-01 18:37:06 598

原创 P8787 [蓝桥杯 2022 省 B] 砍竹子

魔法可以对连续的一段相同高度的竹子使用,假设这一段竹子的高度为 H,那么使用一次魔法可以把这一段竹子的高度都变为 ⌊\sqrt⌊2H​⌋+1​⌋, 其中 ⌊x⌋ 表示对 x 向下取整。小明想知道他最少使用多少次魔法可以让所有的竹子的高度都变为 1。对于这题,我们可以尝试将处理较麻烦的操作次数提前存储好,随后对于每个可能的操作次数进行遍历,寻找其中的可操作竹段。这天,小明在砍竹子,他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的高度为 hi​.第一行为一个正整数 n,表示竹子的棵数。

2025-03-01 18:24:42 314

原创 P1038 [NOIP 2003 提高组] 神经网络

接下来 n 行,每行 2 个整数,第 i+1 行是神经元 i 最初状态和其阈值(Ui​),非输入层的神经元开始时状态必然为 0。输出文件包含若干行,每行有 2 个整数,分别对应一个神经元的编号,及其最后的状态,2 个整数间以空格分隔。现在,给定一个神经网络,及当前输入层神经元的状态(Ci​),要求你的程序运算出最后网络输出层的状态。图中,X1​∼X3​ 是信息输入渠道,Y1​∼Y2​ 是信息输出渠道,Ci​ 表示神经元目前的状态,Ui​ 是阈值,可视为神经元的一个内在参数。神经元(编号为 i)

2025-02-24 22:21:02 441

原创 P1363 幻象迷宫

幻象迷宫可以认为是无限大的,不过它由若干个 N×M 的矩阵重复组成。有的地方是墙,用 # 表示。LHX 和 WD 所在的位置用 S 表示。也就是对于迷宫中的一个点(x,y),如果 (xmodn,ymodm) 是 . 或者 S,那么这个地方是道路;如果 (xmodn,ymodm) 是#,那么这个地方是墙。请你告诉 LHX 和 WD,它们能否走出幻象迷宫(如果它们能走到距离起点无限远处,就认为能走出去)。接下来是一个 N×M 的字符矩阵,表示迷宫里 (0,0) 到 (n−1,m−1) 这个矩阵单元。

2025-02-22 15:54:57 275

原创 P2853 [USACO06DEC] Cow Picnic S

K(1≤K≤100) 只奶牛分散在 N(1≤N≤1000) 个牧场.现在她们要集中起来进餐。牧场之间有 M(1≤M≤10000) 条有向路连接,而且不存在起点和终点相同的有向路.她们进餐的地点必须是所有奶牛都可到达的地方。那么,有多少这样的牧场可供进食呢?我们可以对每一只奶牛所在节点bfs,记录遍历到的节点。题目要求对能够联通所有奶牛节点的节点计数。

2025-02-22 15:06:31 247

原创 P1807 最长路

这题需要我们求最长路径,同时图的边权可能是负数,那么我们可以利用SPFA算法,在读取边权时取相反数,以此来达到求最长路径的目的。设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到 n,请设计算法,计算图 G 中 1,n 间的最长路径。第 2 到第 (m+1) 行,每行 3 个整数 u,v,w(u<v),代表存在一条从 u 到 v 边权为 w 的边。输入的第一行有两个整数,分别代表图的点数 n 和边数 m。输出一行一个整数,代表 1 到 n 的最长路。若 1 无法到达 n,请输出 −1。

2025-02-22 11:48:51 326

原创 P1113 杂务

至少有一项杂务不要求有准备工作,这个可以最早着手完成的工作,标记为杂务 1。John 的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然互相没有关系的杂务可以同时工作,并且,你可以假定 John 的农场有足够多的工人来同时完成任意多项任务。John 有需要完成的 n 个杂务的清单,并且这份清单是有一定顺序的,杂务 k (k>1) 的准备工作只可能在杂务 1 至 k−1 中。一个整数,表示完成所有杂务所需的最短时间。

2025-02-21 00:27:21 414

原创 P3916 图的遍历

给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点。接下来 M 行,每行 2 个整数 Ui​,Vi​,表示边 (Ui​,Vi​)。题目求的是每个连通分量的最大值,那我们可以考虑反向建图,随后从最大编号节点开始进行遍历。一行 N 个整数 A(1),A(2),…第 1 行 2 个整数 N,M,表示点数和边数。如果简单地dfs遍历,会导致至少一个测试点超时。

2025-02-20 23:47:50 299

原创 P5318 【深基18.例3】查找文献

目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到的文章。小 K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。共 m+1 行,第 1 行为 2 个数,n 和 m,分别表示一共有 n(n≤105) 篇文章(编号为 1 到 n)以及m(m≤106) 条参考文献引用关系。这边是已经整理好的参考文献关系图,其中,文献 X → Y 表示文章 X 有参考文献 Y。

2025-02-20 22:24:02 364

原创 QDU 24级2024秋季学期《高级程序设计语言》期末考试 第三部分个人题解

本文为个人题解,考试难度大概在洛谷简单——普及-之间。思路很清晰,首先读入队员,排序后输出,随后进行比赛。相对简单的题目,利用好常用库函数可以节省很多时间。题目难点在于排序后的输出,要求不能有多余空格。相对比较简单的题,考验基础操作。

2025-01-17 13:47:56 368

原创 PyTorch实现MNIST手写数字识别笔记 # 自用

softmax回归是一个多类分类模型,使用softmax操作子得到每个类的预测置信度,置信度每个值都是非负的,且和为1,利用交叉熵来衡量预测和标号的区别。以下是利用d2l库实现的代码import osnet.eval()# 正确的数量, 样本总数if(save):plt.show()plt.show()"""加载模型参数"""net.eval()else:lr = 0.1Logits = net_3(X) # 这是训练完成的模型未经过softmax的预测值。

2024-12-21 03:54:43 944

原创 7-39 堆的操作

得益于此前对堆性质的学习,这道题不能说特别难,可以套用小根堆的操作集。

2024-12-16 04:51:55 447

原创 7-33 括号匹配

【代码】7-33 括号匹配。

2024-12-16 04:19:36 473

原创 PTA 7-12 树种统计

首先想到的思路是哈希表,但题目要求按照字典序打印,而我目前并未了解到能实现此的哈希方法,故采用了二叉搜索树。由于此前写过的题目中包含有二叉搜索树的操作集,故将其套用于其中。要比较两个字符串的字典序顺序,可以利用strcmp。要按照降序遍历二叉搜索树,可以利用中序遍历。

2024-12-16 04:14:37 417

原创 实现线性回归笔记 # 自用

梯度下降通过不断沿着反梯度方向更新参数求解。

2024-12-15 00:24:55 306

空空如也

空空如也

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

TA关注的人

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