自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P10907 [蓝桥杯 2024 国 B] 蚂蚁开会

此题若直接计算各个线段之间的交点并判断是否为整点较为困难,我们可以考虑从目标反推的思路。可以尝试遍历每个整点,并判断该点被多少线段经过,若经过的线段数大于等于2,则为目标点。现在蚂蚁们考虑在这些线段的交点处设置会议中心。为了尽可能节省经费,它们决定只在所有交点为整点的地方设置会议中心,请问需要设置多少个会议中心?遍历每个线段上的整点,用一个map存储点被经过的次数,如此计算次数可到。只蚂蚁,每只蚂蚁有一条线段作为活动范围,第。,保证任意蚂蚁的活动范围不会退化成一个点,只蚂蚁的活动范围的两个端点为。

2025-06-14 22:37:36 675

原创 在windows11下从二进制包安装Ros2-humble时出现错误:failed to create process. 的解决方案

摘要:在Windows上安装ROS2 Humble版本时,使用最新二进制包(ros2-humble-20250331)出现failed to create process错误。尝试重新安装Python 3.8.3、rclpy库及清理Python路径均未解决。最终通过安装早期版本(ros2-humble-20241205)成功完成安装。建议遇到类似问题时考虑使用稳定版本而非最新发布。

2025-06-13 03:23:40 238

原创 使用Chocolatey安装python时出现报错:Generic MSI Error的个人解决方法

问题摘要: 报错提示安装Python时出现问题,添加安装参数未能生成日志文件。解决方法为:在系统应用中卸载现有同版本Python(可能是Anaconda安装的),重启后再重新安装。这表明冲突源于系统中已存在相同版本的Python环境。

2025-06-13 02:16:56 193

原创 P2834 纸币问题 3

与前两题不同,这里求的是组合数,由于组合不考虑顺序,故我们希望在更新dp——即当前子问题时已有组合中不包括当前讨论的面额。在代码中的表现即为外层遍历纸币面额,内层遍历从 1 到 w 的金额。考虑 dp 做法,令 dp[i] 为凑齐金额 i 的币种组合数,同 P2842 纸币问题 1 和 P2840 纸币问题 2。本题和《进阶篇》的对应题目,输入格式略有差异。的金额,请问有多少种纸币组合能恰好支付金额。,分别表示纸币的种数和要凑出的金额。种面额互不相同的纸币,第。你是一个非常有钱的小朋友。

2025-06-12 00:15:00 1171

原创 P1216 [IOI 1994] 数字三角形 Number Triangles

写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。dp[i][j] 为到达第 i 行第 j 个点的最大路径。后面每行为这个数字金字塔特定行包含的整数。单独的一行,包含那个可能得到的最大的和。常规的最大路径和,考虑dp做法。的路径产生了最大权值。题目翻译来自NOCOW。观察下面的数字金字塔。

2025-06-12 00:15:00 678

原创 P2840 纸币问题 2

注意在这里,同样的纸币组合如果支付顺序不同,会被视作不同的方式。同 P2842 纸币问题1,考虑dp做法。的金额,求问有多少种方式可以支付面额。dp[i] 表示凑出金额 i 的方案数。,分别表示纸币的种数和要凑出的金额。,其中 a[j] 表示第 j 种纸币。一行一个整数,表示支付方式的数量。并且有无限张,现在你需要支付。种面额互不相同的纸币,第。你是一个非常有钱的小朋友。的纸币会产生两种方式(个以空格隔开的正整数。其实小朋友并不有钱。

2025-06-11 17:22:23 1050

原创 P2842 纸币问题 1

考虑 dp 做法,令 dp[i] 表示凑够 i 元所需的纸币张数。的金额,试问最少用多少张纸币可以凑出来?一行一个整数,表示最少使用的纸币张数。,其中 a[i] 表示第 i 个面值。,分别表示纸币的种数和要凑出的金额。并且有无限张,现在要凑出。种纸币,每种纸币面额为。

2025-06-11 17:07:13 390

原创 《视觉SLAM十四讲》自用笔记 第三讲:三维空间刚体运动

旋转矩阵用九个量描述三自由度的旋转,具有冗余性:欧拉角和旋转向量是紧凑的,但具有奇异性,且我们无法找到不带奇异性的三维向量描述方式。三维旋转是一个三维流形,想无奇异性地表达它,三个量是不够的。我们可以用复数集C\mathbb CC表示复平面上的向量,而复数的乘法可以表示复平面上的旋转。在三维空间中有类似复数的代数——四元数。其既紧凑又没有奇异性,缺点为不够直观、运算稍复杂。一个四元数qqqqq0q1iq2jq3kqq0​q1​iq2​jq3。

2025-06-08 06:24:45 975

原创 《视觉SLAM十四讲》自用笔记 第二讲:SLAM系统概述

《视觉SLAM十四讲》第二讲部分笔记

2025-06-05 05:31:55 884

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

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

2025-06-03 10:07:14 849

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

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

2025-06-03 05:55:40 1029

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

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

2025-05-30 20:06:53 921

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

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

2025-05-30 05:30:20 520

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

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

2025-05-29 01:20:43 279

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

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

2025-05-29 00:59:16 226

原创 LeetCode100.7 接雨水

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

2025-05-14 14:29:00 254

原创 LeetCode100.6 三数之和

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

2025-05-14 13:28:47 178

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

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

2025-05-14 12:59:38 269

原创 LeetCode100.4 移动零

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

2025-05-14 02:47:21 177

原创 LeetCode100.3 最长连续序列

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

2025-05-14 02:23:35 163

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

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

2025-05-14 01:55:06 249

原创 LeetCode100.1 两数之和

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

2025-05-14 01:36:30 211

原创 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 461

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

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

2025-04-21 21:22:47 199 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 251

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

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

2025-04-17 02:40:43 221

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

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

2025-04-17 02:21:25 267

原创 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 222

原创 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 339 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 287

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

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

2025-03-05 21:13:32 283

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

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

2025-03-01 22:10:08 255

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

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

2025-03-01 22:07:39 490

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

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

2025-03-01 18:37:06 599

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

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

2025-03-01 18:24:42 315

原创 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 444

原创 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 278

原创 P2853 [USACO06DEC] Cow Picnic S

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

2025-02-22 15:06:31 249

原创 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 334

空空如也

空空如也

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

TA关注的人

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