自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习记录

在这里记录编程学习的历程.

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

原创 使用Cmake导入OpenCV库的大坑记录

4.然后接着比较坑的是, 编译会出现"undefined reference to xxx"错误,库链接出现问题,而且网上找了不少教程之后都没法解决问题(包括加入命令,添加Windows环境变量,降低OpenCV版本),只好放弃使用现成的库文件。2.在 Windows平台下,mingw64 需要用 posix 接口的 thread 库,之前电脑上安装了Mingw win32的那个版本,编译会报错“...mutex...”之类的错误。cmake编译时要使用下面的命令,选择MinGW。

2024-11-27 17:02:54 306

原创 VSCode中CMake Tools提示:可执行文件错误:“/snap/bin/cmake“...

由于我在Ubuntu 24.04中安装CMake时,直接使用了snap包安装(Ubuntu自带的应用中心)打开VSCode就遇到CMake Tools的错误提示,但是我在终端中使用cmake指令完全没有问题。此后即可用VSCode中插件CMake Tools提供的功能使用CMake了。错误提示原因是没有正确配置cmake可执行程序的目录。

2024-10-28 23:25:17 1001 3

原创 Ubuntu中VSCode以sudo开始GDB调试C程序方法

新建终端输入命令:/home/user_name/gdbasroot/gdb没有提示输入密码即可运行。此后就可以在VSCode使用GDB调试需要sudo运行的程序了。

2024-10-28 23:16:12 758

原创 STM32标准库学习笔记-11.I2C通信

STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担支持多主机模型支持7位/10位地址模式支持不同的通讯速度,标准速度(高达100 kHz),快速(高达400 kHz)支持DMA兼容SMBus协议STM32F103C8T6 硬件I2C资源:I2C1、I2C2。

2024-08-20 13:13:57 1184

原创 STM32标准库学习笔记-10.USART串口

通信接口是不同设备或系统之间进行通信时使用的物理连接和电气特性的规范。它定义了数据的传输方式、信号的传输速率、传输距离和电气标准等。通信接口允许设备之间交换信息和进行数据传输。

2024-08-20 12:53:42 587

原创 STM32标准库学习笔记-9.DMA 直接存储器存取

这4GiB的空间指的是地址空间,每个地址对应一个具体的设备。CPU通过地址,然后对应到地址存储单元或者寄存器,进行读取或者写入数据即可。4GiB是它最大支持的地址数目,但是实际可能没有使用那么多。整块4G存储器开始地址标为0x00000000,结束地址为0xFFFFFFFF,地址的位数是32位,那么2^32=4,294,967,296。通俗的讲映射就是一种特殊的对应关系。存储一些独立于程序代码的配置参数。存储内核各个外设的配置参数。存储运行过程中的临时变量。存储各个外设的配置参数。程序存储器Flash。

2024-08-18 16:23:23 530

原创 STM32标准库学习笔记-8.ADC 模数转换器

TCONV = 1.5 + 12.5 = 14个ADC周期 = 1μs。TCONV = 采样时间 + 12.5个ADC周期。

2024-08-18 15:49:42 488

原创 STM32标准库学习笔记-7.编码器

正交信号:A,B波形输出波形相位差始终为90°。

2024-08-18 15:34:48 545

原创 STM32标准库学习笔记-6.定时器-输入捕获

由于只有TI1FP1。连到了从模式控制器,所以。

2024-08-18 15:19:21 1091

原创 STM32标准库学习笔记-5.定时器-输出比较

【代码】STM32标准库学习笔记-5.定时器-输出比较。

2024-08-18 14:58:31 393

原创 STM32标准库学习笔记-4.定时器中断

STM32F103RCT6上总共有8个定时器,其中TIM1和TIM8是高级定时器,它们挂载在APB2高速总线上。而TIM2、TIM3、TIM4、TIM5是通用定时器,TIM6、TIM7是基本定时器,它们都挂载在APB1上,基本定时器的功能最少,高级定时器功能最多。PSC为预分频系数,(PSC+1)为分频值。PSC = 1时,信号为2分频。

2024-08-18 14:41:32 800

原创 STM32标准库学习笔记-3.外部中断

参考教程:【STM32入门教程-2023版 细致讲解 中文字幕】中断含义:在计算机执行主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。STM32的中断:68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设。使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级。NVIC(嵌套向量中断控制器):STM

2024-08-17 15:34:53 726

原创 STM32标准库学习笔记-2.GPIO

驱动器能够增加IO口的驱动能力。GPIO挂载在APB2上(APB (Advanced Peripheral Bus) 低速总线,用来接低速外设的。1.使能RCC(Reset and Clock Control)复位与时钟控制器2.定义GPIO_InitTypeDef 结构体,赋值初始化参数//推挽输出//0引脚//50MHz速度3.将结构体取地址传入GPIO_Init函数,指明初始化GPIO为GPIOA组(每一组有16个引脚)4.使用GPIO相关的库函数对GPIO进行操作。

2024-08-17 13:30:50 880

原创 STM32标准库学习笔记-1.基础知识

RISC(Reduced Instruction Set Computer)即精简指令集计算机,是一种CPU设计思想和架构。它的基本思想是将CPU的指令集简化为一些基本操作,这些基本操作的执行时间都大致相等,并采用流水线和高速缓存等技术来提高CPU的效率。CISC(Complex Instruction Set Computer)即复杂指令集计算机,它的设计思想是尽可能包含更多的指令,让CPU能够完成更复杂的任务,但这也会使得CPU的复杂度、功耗和成本等因素增加。

2024-08-17 13:16:21 264

原创 [SCOI2009][数位DP]windy数 思路详解

题目链接题面windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?思路1.由于是计算[A,B]间windy数字,那么可以用前缀和思想,统计前A-1个数字中的windy数 数量,再统计前B个windy数 数量,答案就是两者之差。2.数位DP,用表示数字位数为i且...

2019-10-03 15:50:45 340

原创 [01分数规划]POJ2976 Dropping tests]经典二分题-01分数规划

题目链接题目描述给定N个元素,每个元素含有A[i],B[i],取其中N-K个元素得到:,最大化这个值.分析使用二分答案:二分一个值V,使得,化简:那么可以在二分的check函数中选择前N-K个最大的(),检查是否大于等于0.注意精度的处理。#include <iostream>#include <cstdio>#include <al...

2019-10-01 20:43:54 343

原创 P3387 【模板】缩点

强连通分量缩点拓扑排序DAG dp#include <iostream>#include <cstdio>#include <vector>#include <cstring>#include <queue>#include <stack>using namespace std;const ...

2019-10-01 11:21:12 234

原创 CF786B Legacy 线段树优化建图

洛谷题目链接题意首先想到单源最短路,但是如果暴力模拟就会导致从区间里每一个点连向另一个点时最坏情况时间复杂度达到O(N*N),显然会TLE。那么看到区间操作,自然会想到处理区间操作的数据结构,这一题就是一道线段树题。想法【线段树优化建图】1.由于直接暴力模拟连边导致TLE,我们可以按照题意建两颗线段树TreeIn(外部一点连向一个区间)和TreeOut(一个区间连向一个点),线...

2019-10-01 11:18:10 215

原创 P3045 [USACO12FEB]牛券Cow Coupons 贪心+优先队列

题目链接贪心思路:0.贪心撤回1.首先如果所有的奶牛都使用了优惠券,那么优惠价格最少的前K个奶牛是必定包含在最终答案中的。如果情况不是这样,就意味着有一张优惠券用在了K+1到N区间的奶牛上,但是前K个奶牛中的那一个不选,显然这是不划算的,情况不是最优。2.考虑全部对排序后的前K个奶牛使用优惠券,再建立一个由小到大保存(P[i]-C[i])的堆维护,再对[K+1,N]个奶牛进行选择...

2019-10-01 11:05:31 555

原创 ST表学习

ST表原理和实现ST表是一种用于解决RMQ(Range Minimum/Maximum Query,即区间最值查询)问题的离线算法与线段树相比,预处理复杂度同为O(nlogn),查询时间上,ST表为O(1),线段树为O(nlogn)。ST表数据储存放在一个二维数组ST[i][j],表示下标i开始,2^j长度的区间内的最大值或最小值。初始化过程:inline void Init(v...

2019-08-02 21:30:42 239

原创 快速幂代码

int Quikpow(int a,int b){ int ans = 1; while(b) { if(b&1) { ans = (ans*a)%mod; } a = a*a%mod; b >>= 1; }}//原理://a^3...

2019-07-24 15:36:11 469

原创 链式前向星代码

int Head[MAXN] = {0};int count = 0;struct _Edge{ int u; int v; int next; };_Edge Edge[MAXN*2];//存边(无向图存两次):void Addedge(int u,int v){ Edge[++count].u = u; Edge[count].v = v; ...

2019-07-24 15:32:17 165

原创 C++快读代码

inline int ReadIn(void){ int sum = 0; int sign = 1; char ch = getchar(); while(ch > '9' || ch < '0') { if(ch == '-') { sign = -1; } ch = getchar(); } while(ch >= '0' &amp...

2019-07-23 19:50:47 1886

原创 [深度优先搜索]P1378 油滴扩展

题目题目描述题目描述在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界。必须等一个油滴扩展完毕才能放置下一个油滴。那么应该按照怎样的顺序在这N个点上放置油滴,才能使放置完毕后所有油滴占据的总体积最大呢?(不同的油滴不会相互融合)注:圆的面积公式V=pi*r*r,其中r为圆的半径。输入...

2019-05-09 21:47:07 202

转载 题解 P2123 【皇后游戏】

转载自:https://www.luogu.org/blog/liuzibujian/solution-p2123洛谷p2123前言这是一道省选/NOI-的题目,我认为这道题确实有这么难。很多人认为没有这么难,那是因为他们的做法并不是完全正确的。我看了洛谷仅有的三篇题解,竟然有两篇是有错的。正确的那篇题解在这里。这篇仅有的正解的作者还给出了一组证明另外几篇题解有误的数据,将在后面给出。...

2019-05-02 13:37:33 261

原创 [贪心模拟]P1233 木棍加工

题目地址题目描述一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的。棍子可以被一台机器一个接一个地加工。机器处理一根棍子之前需要准备时间。准备时间是这样定义的:第一根棍子的准备时间为1分钟;如果刚处理完长度为L,宽度为W的棍子,那么如果下一个棍子长度为Li,宽度为Wi,并且满足L>=Li,W>=Wi,这个棍子就不需要准备时间,否则需要1分钟的准备时间;计算处理完n...

2019-05-02 13:03:36 502

原创 [动态规划][背包问题][P1156 垃圾陷阱]做题思路和总结

题目描述卡门――农夫约翰极其珍视的一条Holsteins奶牛――已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D(2≤D≤100)英尺。卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间。假设卡门预先知道了每个垃圾扔下的时间t(0<t≤1000...

2019-04-17 17:53:53 329

原创 [HNOI2008]越狱 数学排列组合+快速幂

题目描述监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。思路首先考虑到这是一道数学题,根据乘法原理可以知道如果不考虑相邻的情况,即有多少种关押情况,情况总数为 S1 = M^N.而考虑不相邻的情况总数为 S2 = M*M^(N-1)种,答案 an...

2019-04-06 17:37:20 311

原创 [DAG动态规划][Uva 116 单向TSP]题目做题思路和收获

UVA 116题目描述PDF思路这道题其实是一道特殊的DAG类动态规划;题目要求只能向右走,且只能向右上,右,右下三个方向,同时上部和下部是联通的;1.动态规划求最小值首先想到用DP[i][j]表示到达每一个点要用的最小的结果,动态转移方程为:DP[i][j] = min{DP[i+1][j+1],DP[i-1][j+1],DP[i][j+1]} + Ma...

2019-03-21 17:57:50 191

原创 [多维动态规划][NOIP2000 方格取数][NOIP2006 传纸条]四维动态规划做法.

方格取数思路由题意可以想到用动态规划数组DP[i][j][k][l]表示走到A(i,j),B(k,l).那么,对于某一步一共有四种情况:路径A向右,路径B向下; 路径A向右,路径B向右; 路径A向下,路径B向右; 路径A向下,路径B向下。得到动态转移方程:同时注意题目要求:每个数字取一次,故在动态规划枚举的时候需要判重。#include <iostrea...

2019-03-14 21:17:43 386

原创 [多维动态规划][数字三角形类问题]两道例题和思路

数字三角形题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最...

2019-03-12 17:55:15 293

原创 [线性动态规划][P1140 相似基因][类LCS]做题记录和思考总结

题目地址题目背景大家都知道,基因可以看作一个碱基对序列。它包含了44种核苷酸,简记作A,C,G,TA,C,G,T。生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物。在一个人类基因工作组的任务中,生物学家研究的是:两个基因的相似程度。因为这个研究对疾病的治疗有着非同寻常的作用。题目思路:该题类似于LCS(最长公共子序列)首先想到两段基因配对共有三种情况...

2019-03-07 21:32:16 423

原创 [线性动态规划][区间类动态规划问题][ NOI1995 石子合并]环状区间DP基本解法

题目链接:P1880 [NOI1995]石子合并题目描述在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.输入输出格式输入格式:数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆...

2019-03-06 18:09:17 241

原创 [线性动态规划][最长上升/下降序列][P1020 导弹拦截]线性动态规划做题理解和总结

原题目链接:导弹拦截题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是≤50000的正整数),计算这套系统最多能拦截...

2019-03-06 17:50:04 241

原创 [线性动态规划][最长上升/下降序列][P1091 合唱队形]线性动态规划做题理解和总结

P1091合唱队形做题思路首先根据题目描述可知,很明显的一个求最长公共子序列问题,对第i位同学左边求最长上升子序列,对右边求最长不上升子序列,利用动态规划思想,最后求出两者相加最大的第i位。最终求出答案。代码:#include &lt;iostream&gt;#include &lt;algorithm&gt; using namespace std;int Heig...

2019-02-28 20:58:58 276

原创 [线性动态规划][资源分配类问题][P1280 尼克的任务]线性动态规划做题理解和总结

题目地址题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假...

2019-02-28 17:58:28 261

原创 [完全背包问题]状态转移方程及其优化理解.

完全背包问题:题目描述现在有一个容量为V的背包,现在有N种物品可选,不同于01背包的是每件物品可以取无限件,每种物品有价值和大小。求背包最大价值。可以很容易想到最基本的状态转移方程:f[i][v] = max(f[i-1][v-k*c[i]] + k*v[i]|0 &lt;= k*c[i] &lt;= v)进一步优化,可以想到,每次求f[i][v]可以采用这样的策略:将已经...

2019-02-19 17:30:34 2065

原创 [数学学习笔记]导数的运算

基本初等函数初等函数是由基本初等函数经过有限次的四则运算和复合运算所得到的函数。基本初等函数和初等函数在其定义区间内均为连续函数。高等数学将基本初等函数归为五类:幂函数、指数函数、对数函数、三角函数、反三角函数.数学分析将基本初等函数归为六类:幂函数、指数函数、对数函数、三角函数、反三角函数、常数函数.复合函数的“拆分”或叫“分解”复合函数的“拆分”或叫“分解” 求导公式...

2019-02-03 18:45:31 4190

原创 [数学学习笔记]导数的定义

导数的定义:为处的一个增量。这样,称函数y = f(x)在处可导,极限值A为y =f(x)在处的导数,并记作或或导数表示:因变量y在自变量处的变化率。例1:利用导数的定义求函数在x = 3处的导数;解:例2:利用导数的定义求函数在x = 0处的导数;解:导函数的定义:    如果函数f(x)在开区间(a,b)内可导,那么对于开区间(a,b)内的任意一点x...

2019-02-03 17:44:41 10825

原创 [数学学习笔记]函数的连续性

连续性的概念第一类定义:设函数y = f(x)在的某邻域内有定义,并且,则称函数f(x)在连续.并称为f(x)的连续点。第二类定义::x方向上的增量;:y方向上的增量。的正负表明增量方向。或者则称函数f(x)在连续.并称为f(x)的连续点。 若,则称函数f(x)在左连续;若,则称函数f(x)在右连续; 定理2.5.1:函数f(x)在处连续的必要条件是:函...

2019-02-03 16:22:14 5953 1

空空如也

空空如也

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

TA关注的人

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