- 博客(138)
- 收藏
- 关注
原创 123【蓝桥杯国赛】
1121231234小蓝发现, 这个数列前1项是整数1, 接下来2项是整数1至2, 接下来3项是整数1至3, 接下来4项是整数1至4, 依次类推。小蓝想知道, 这个数列中, 连续一段的和是多少。
2023-06-08 21:33:03 295
原创 扫地机器人
小明公司的办公区有一条长长的走廊,由N个方格区域组成,如下图所示。走廊内部署了K台扫地机器人,其中第i台在第A个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。请你编写一个程序,计算每台机器人的清扫路线,使得它们最终都返回出发方格,每个方格区域都至少被清扫一遍,从机器人开始行动到最后一台机器人归位花费的时间最少。注意多台机器人可以同时清扫同一方块区域,它们不会互相影响。输出最少花费的时间。在上图所示的例子中,最少花费时间是 6。
2023-06-08 11:26:11 469
原创 推导部分和【蓝桥杯国赛】
对于一个长度为N的整数数列A1A2⋯AN,小蓝想知道下标l到r的部分和il∑rAiAlAl1⋯Ar是多少?然而,小蓝并不知道数列中每个数的值是多少,他只知道它的M个部分和的值。其中第i个部分和是下标li到ri的部分和∑jliriAliAli1⋯Ari, 值是Si。
2023-06-07 17:28:35 212
原创 卡牌【蓝桥杯国赛】
这天,小明在整理他的卡牌。他一共有n种卡牌,第i种卡牌上印有正整数数ii∈1n]), 且第i种卡牌现有ai张。而如果有n张卡牌,其中每种卡牌各一张,那么这n张卡牌可以被称为一套牌。小明为了凑出尽可能多套牌,拿出了m张空白牌, 他可以在上面写上数i,将其当做第i种牌来凑出套牌。然而小明觉得手写的牌不太美观,决定第i种牌最多手写bi张。请问小明最多能凑出多少套牌?
2023-05-29 14:07:18 130
原创 出差【蓝桥杯国赛】
A国有N个城市,编号为1N小明是编号为1的城市中一家公司的员工,今天突然接到了上级通知需要去编号为N的城市出差。由于疫情原因,很多直达的交通方式暂时关闭,小明无法乘坐飞机直接从城市1到达城市N,需要通过其他城市进行陆路交通中转。小明通过交通信息网,查询到了M条城市之间仍然还开通的路线信息以及每一条路线需要花费的时间。同样由于疫情原因,小明到达一个城市后需要隔离观察一段时间才能离开该城市前往其他城市。通过网络,小明也查询到了各个城市的隔离信息。(由于小明之前在城市1。
2023-05-28 20:52:59 270
原创 左移右移【蓝桥杯国赛】
小蓝有一个长度为N的数组, 初始时从左到右依次是 1,2,3,…N。之后小蓝对这个数组进行了M次操作, 每次操作可能是以下 2 种之一:左移x, 即把x移动到最左边。右移x, 即把x移动到最右边。请你回答经过M次操作之后, 数组从左到右每个数是多少?
2023-05-17 20:54:00 121
原创 异或变换【蓝桥杯国赛】
小蓝有一个 01 串ss1s2s3⋯sn。以后每个时刻, 小蓝要对这个 01 串进行一次变换。每次变换的规则相同。对于 01 串ss1s2s3⋯sn, 变换后的 01 串s′s1′s2′s3′⋯sn′s1′s1si′si−1⊕si其中a⊕b表示两个二进制的异或, 当a和b相同时结果为0, 当a和b不同时结果为1。
2023-05-16 21:14:35 225
原创 蓝桥杯:求和
给定n个整数a1a2⋯an, 求它们两两相乘再相加的和,即Sa1⋅a2a1⋅a3⋯a1⋅ana2⋅a3⋯an−2⋅an−1an−2⋅anan−1⋅an。
2023-03-11 09:29:38 149
原创 语文成绩【一维差分】
当要给 a 数组里 l 到 r 区间里的每个元素加上 c 时只需给 b[l] 加上 c,就可以给 a 数组里 l 到 N 区间里每一个元素都加上 c;然后我们可以把 b[r+1] 到 b[N] 间的每个数都减去一个 c,即可只让 l 到 r 区间里的每个数都加上 c。语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。差分思想是前缀和的逆运算,前缀和是将前面所有的数加一起。例如原数组为 a ,我们可以构建一个差分数组 b。输出仅一行,代表更改分数后,全班的最低分。,代表学生数与增加分数的次数。
2023-03-03 19:06:58 340
原创 队列和栈(C语言)
现在,假设队列和栈都是空的。的:把队列看成横向的一个通道,则 push k 是将 k 放到队列的最右边,而 pop 则是从队列的最左边取出一个数。的:把栈也看成横向的一个通道,则 push k 是将 k 放到栈的最右边,而 pop 也是从栈的最右边取出一个数。队列 1 2 -------> 1 2 5 ------> 2 5。栈 1 2 -------> 1 2 5 ------> 1 2。则队列中的元素为Queue[]={1,2,3,4,5,6}例如队列中的元素Queue[]={1,2,3,4,5},
2023-02-22 13:12:34 295
原创 MATLAB教程四:MATLAB绘图
如果矩阵 y 的列数等于 x 的长度,则以向量 x 为横坐标,以 y 的每个行向量为纵坐标绘制曲线,曲线的条数等于 y 的行数。如果矩阵 y 的行数等于 x 的长度,则以向量 x 为横坐标,以 y 的每个列向量为纵坐标绘制曲线,曲线的条数等于 y 的列数。:将图形中需要裁剪部分对应的函数值设置成 NaN,这样在绘制图形时,函数值为 NaN 的部分将不显示出来,从而达到对图形进行裁剪的目的。例:某次考试优秀、良好、中等、及格、不及格的人数分别为: 5、17、23、9、4,试用扇形统计图作成绩统计分析。
2023-01-25 18:40:17 5317
原创 MATLAB教程五:数据分析与多项式计算
(2)[y,k]=max(X):返回向量 X 的最大值存入 y,最大值元素的序号存入 k,如果 X 中包含复数元素,则按模取最大值。(2)[Y,U]=max(A):返回行向量 Y 和 U ,Y 向量记录A中每列的最大值,U 向量记录每列最大值元素的行号。求 f(x)+g(x),f(x)-g(x),f(x)xg(x),f(x)/g(x)例:求向量X=[1,2,3,4,5,6,7,8,9,10]的累加和与累乘积。例:求向量X=[1,2,3,4,5,6,7,8,9,10]的和与积。
2023-01-24 17:15:30 1884 1
原创 MATLAB教程六:数值微积分与方程求解
MATLAB 提供了一个左除运算符 “\” 用于求解线性方程组,它使用列主元消去法,使用起来十分方便。对于线性方程组Ax=b,可以利用左除运算符反斜杠求解,b左除以A可获得线性方程组的数值解x(Ax=b -----> x=A\b)。MATLAB 只考虑最小值问题的计算,如果要求 f(x) 的最大值,可以通过求 -f(x) 的最小值来解决。:从给定初始值逐步逼近精确解的过程,求解过程占用存储空间小,程序设计简单;在区间 (-10,-1) 和 (1,10) 上的最小值点。例:用左除运算符求解下列线性方程组。
2023-01-24 14:02:44 721
原创 MATLAB教程七:MATLAB符号计算
例如,Dy表示y’,D2y表示y’‘, Dy(0)=5表示y’(0)=5。其中,A 可以是一个数值常量、数值矩阵或数值表达式(不加单引号),此时符号对象为一个符号常量;:符号表达式的四则运算与数值运算一样,用+、-、*、/、^ 运 算符实现,其运算结果依然是一个符号表达式。未设置时,展开点为0。4个逻辑运算函数:and(a,b)、or(a,b)、not(a)和xor(a,b)。对应的6个函数:lt()、le()、gt()、ge()、eq()、ne()。6种关系运算符:=、==、~=。
2023-01-23 14:58:01 3451 1
原创 MATLAB教程三:MATLAB程序流程控制
格式: function 输出形参表=函数名(输入形参表) 注释说明部分函数体语句1、函数文件名通常由函数名再加上扩展名.m组成,函数文件名与函数名也可以不相同。当函数文件名与函数名不相同时, MATLAB将忽略函数名,调用时使用函数文件名。2、return语句表示结束函数的执行。通常,在函数文件中也可以不使用return语句,那么被调用函数执行完成后会自动返回。例:编写函数文件,求半径为r的圆的面积和周长。s=pi*r*r;p=2*pi*r;
2023-01-22 19:16:15 1398
原创 MATLAB教程二:MATLAB矩阵处理
设 A 是 n 阶方阵,如果存在常数 λ 和 n 维非零列向量 x,使得等式 Ax=λx 成立,则称 λ 为 A 的特征值,x 是对应特征值 λ 的特征向量。
2023-01-22 17:02:47 1670
原创 MATLAB教程一:MATLAB基础知识
3、参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,最终的关系运算的结果是一个与原矩阵同型的矩阵,它的元素由0或1组成。2、参与比较的量是两个同型的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,最终的关系运算的结果是一个与原矩阵同型的矩阵,它的元素由0或1组成。3、参与逻辑运算的一个是标量,一个是矩阵,那么将在标量与矩阵 中的每个元素之间按标量规则逐个进行运算,最终运算结果是一个与矩阵同型的矩阵,其元素由1或0组成。
2023-01-21 16:52:30 3471 1
原创 51单片机IIC_EEPROM
AT24C01/02/04/08/16…是一个 1K/2K/4K/8K/16K 位串行 CMOS,内部含有 128/256/512/1024/2048 个 8 位字节,AT24C01 有一个 8 字节页写缓冲器, AT24C02/04/08/16 有一个 16 字节页写缓冲器。该器件通过 I2C 总线接口进行操作,它有一个专门的写保护功能。我们开发板上使用的是 AT24C02(EEPROM)芯片,此芯片具有 I2C 通信接口,芯片内保存的数据在掉电情况下都不丢失, 所以通常用于存放一些比较重要的数据等。
2022-11-19 22:58:55 1246 1
原创 51单片机DAC数模转换
出于成本考虑,在实际开发应用中,使用较多的是通过 PWM 来模拟 DAC 输出。下面就先来了解下 PWM 相关概念PWM 是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信,功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器,因此学习 PWM 具有十分重要的现实意义。
2022-11-08 19:41:46 4764
原创 51单片机ADC模数转换
XPT2046是一款 4 线制电阻式触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。XPT2046 支持从 1.5V 到 5.25V 的低电压 I/O 接口。XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置,除此之外, 还可以测量加在触摸屏上的压力。内部自带 2.5V 参考电压,可以作为辅助输入、 温度测量和电池监测之用,电池监测的电压范围可以从 0V 到 6V。XPT2046 片内集成有一个温度传感器。
2022-11-07 16:23:45 6736 1
原创 51单片机DS1302时钟
DS1302是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日 历和 31 字节静态 RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式。①RES 复位 ②I/O 数据线 ③SCLK 串行时钟。时钟/RAM 的读/写数据以一个字节或多达 31 个字节的字符组方式通信。。
2022-10-30 14:58:34 2053 3
原创 51单片机温度传感器DS18B20
DS18B20是由DALLAS半导体公司推出的一种的“一线总线(单总线)”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、 适用电压宽、与微处理器接口简单的数字化温度传感器。
2022-10-22 13:56:42 7610
原创 51单片机红外遥控
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠, 功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用, 并越来越多的应用到计算机系统中。红外遥控通信系统一般由红外发射装置和红外接收设备两大部分组成。
2022-10-16 12:36:09 3826 3
原创 51单片机串口通信
串口通信(Serial Communication),是指外设和计算机间通过数据信号线、 地线等按位进行传输数据的一种通信方式,属于串行通信方式。串口是一种接口 标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。
2022-10-15 17:07:21 1357
原创 51单片机定时器/计数器(定时器中断)
定时器实质上就是一个加1计数器。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,,当加到定数器满时,再输入一个脉冲就使定时器回零,且定时器的溢出使相应的中断标志位置1,向CPU发出中断请求。如果定时器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。定时器由高8位和低8位两个寄存器TH0/TH1和TL0/TH1组成。51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD 是定时器的工作方式寄存器,确定工作方式和功能;
2022-10-12 18:30:19 5388
原创 后缀式求值
我们人类习惯于书写“中缀式”,如3 + 5 * 2,其值为13。(p.s. 为什么人类习惯中缀式呢?是因为中缀式比后缀式好用么?)而计算机更加习惯“后缀式”(也叫“逆波兰式”,Reverse Polish Notation)。上述中缀式对应的后缀式是:3 5 2 * +现在,请对输入的后缀式进行求值。
2022-10-09 14:35:22 277
原创 重排链表(数据结构)
给定一个单链表L1→L2→⋯→L**n−1→L**n,请编写程序将链表重新排列为L**n→L1→L**n−1→L2→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。
2022-09-23 13:50:09 491
原创 删除单链表偶数节点
函数createlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。函数deleteeven将单链表head中偶数值的结点删除,返回结果链表的头指针。
2022-09-17 17:08:37 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人