自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【字符串处理、枚举T10】肥宅快乐串

我们可以从原字符串的每一个字符开始,统计接下来 10 个数字与 "fattyhappy" 的不同字符数,并根据不同的字符数进行对应的操作。本题的主要思路是以 "fattyhappy" 为模板,对字符串进行模板匹配。如果交换后与模板字符串相同,则可以将这两个位置作为答案进行输出。如果交换后与模板字符串相同,则可以将这两个位置作为答案进行输出。该情况下我们需要将这个不同的字符与所有其他字符尝试进行交换。该情况下无论如何交换都至少会有一个字符与模板字符串不同。该情况下我们尝试交换不同的两个字符。

2023-08-25 10:50:52 203 1

原创 【字符串处理、枚举T09】【DFS 深度优先搜索】解谜游戏

(id = m),进行一次运算,统计出总的按键次数。接着,我们回溯到上一层,进行另一个抉择。进行枚举,16位,每一位分别表示一个灯的亮灭情况,每次情况计算完成后加一即可。但是不是所有题目都能有这种简单的情形。注意到本题中只有【按键】和【不按键】两种情况,故我们可以使用。,这显然不满足题目要求,因此我们需要对算法进行优化。,直到遍历完所有情况。算法的过程可以参考下图示意。,此处我想讲解一种新的枚举方法:使用。本题是一道典型的枚举题,但如果我们。,最后判断所有灯是否全部熄灭即可。经过观察,我们不难发现:当。

2023-08-25 10:44:10 99 1

原创 【字符串处理、枚举T08】【Vector方法】发言统计

vector是【C++】中一个多功能的,能够操作多种数据结构和算法的模板类和函数库。我们可以将它理解为一个能够存放任意类型的动态数组,能够增加和压缩数据。

2023-08-25 10:34:38 95 1

原创 【感受算法魅力T05】【可视化简单易懂】北湖深坑

我们可以声明两个数组,分别用于记录某一点(含该点)左侧以及右侧的最高点高度,这一部分可以通过简单的遍历实现。更进一步,其实我们不需要知道左侧以及右侧最高点的高度,我们也可以只开辟一个数组,用于。要确定某一点是“制高点”还是“积水点”或其他点,我们需要知道该点两侧的高度信息。由此可见,我们只需要从左至右将所有点的积水高度相加即可。即可,因为超过“第二高”点的所有位置都不会有积水。对于本题,某一横坐标处存在积水的条件是。将上述数据累加求和,即可得出蓄水体积。,且该坐标处的积水高度等于。

2023-08-24 09:48:14 95 1

原创 【感受算法魅力T04】【可视化简单易懂】北湖挖坑

这是一个正确的思路,但是如果我们根据不同高度层来遍历,在庞大的数据体量下必然会有TLE的风险,因此我们需要对这个算法进行优化。,因为在左侧区域中,我们已经对相应高度层进行过挖掘,只需“左侧多挖一格”即可;这样处理后,我们只需要对宽度进行一次遍历即可,复杂度为o(n)。2. 注意数据范围,部分变量需要使用long long声明。本题中,我们需要让挖坑的次数最少,因此我们需要。,因为左侧没有对靠下的高度层进行挖掘。1. 注意边界的处理;

2023-08-24 09:47:35 66 1

原创 【感受算法魅力T03】达拉崩吧的酒宴

我们可以将每一位上小白鼠的存亡用01来表示。最终得到的数便是有毒酒桶对应的二进制编号。两种情况,这与二进制中的01相似。在本道题目中,我们同样可以用二进制来表示酒桶。本题的数据量较大,部分变量需要使用long long形式。对于一只小白鼠,喝完酒后只会有。换而言之,我们只需要知道酒桶。,即可得出所需小鼠的数量。

2023-08-24 09:46:46 66 1

原创 【感受算法魅力T02】摘桃子

这个思路其实很容易看懂。我们要让摘得的桃子数量最大化,必然要尽可能不让桃子过期。今日的桃子不摘明天还能摘,但是昨天的桃子不摘明天就摘不了了。关注桃子在哪棵树上,只需要关注每天产出的桃子的总数,因此我们在读入时只需要统计出每天产生桃子的数量即可。本题需要我们计算出能摘取到的桃子的最大值。

2023-08-24 09:46:00 70 1

原创 【感受算法魅力T01】猜数字看人品

对于以上两个条件,我们可以简化为判断 leftBoundary < targetPoint < rightBoundary 是否成立。本题需要我们判断Tom的回答是否合理。2. 当Tom回答"too high"时,更新右侧边界;1. 当Tom回答"too low"时,更新左侧边界;3. 当Tom回答"right on"时,更新目标点。1. 左侧边界是否大于右侧边界,或与右侧边界重合;2. 检查左右边界初始化的条件。1. 检查数据的读入是否正确;2. 目标点是否在线段上。

2023-08-24 09:44:49 73 1

原创 【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解

UART是一种异步串行通信接口,常用于通过串口与外部设备进行通信。它通过发送和接收数据帧来实现数据传输,使用起来相对简单。UART通常包含发送器(Transmitter)和接收器(Receiver),通过两根信号线(传输线)进行双向通信。UART协议将一长串数据切成很多固定长度的小段,分别发送。每小段数据前后会加上一些附加数据以保证通信的实时性和准确性,最后形成的每个小段叫做一个数据包——即1帧数据。起始位:发出1位低电平信号,表示开始传输字符。

2023-06-30 10:11:50 6945

原创 【Arduino蓝牙小车】L298N电机驱动模块详解

这是一个L298N电机驱动模块的图片。(对于每个通道需要占用两个PWM引脚),但不需要占用普通引脚。在PWM引脚较少的情况下不推荐使用这种方案。对于通道A使能、逻辑输入这几个接口,网络上的文章描述的都较为复杂。,1、2针脚分别为高电平时电机会转动且转动方向相反,其他情况电机不转动。我们需要根据实际的引脚数量在两种接线方式中进行权衡。两个接口分别与小车的两个电机相连(不用区分正负);接口与Arduino的Vin接口相连。,当接到5V电压时,对应通道打开;至此,电机的驱动代码全部完成。来控制通道的开关,用于。

2023-05-07 13:54:14 4698

原创 【大学物理】刚体的定轴转动 记忆方法

对于刚体的定轴转动,如果你是一个初学者,那么你肯定会被一大堆新的概念困扰。但利用下面的这张表格,可以很快的帮助你理解各个名词之间的关系。

2023-04-02 06:50:50 173

原创 【BIT C语言】过桥问题

有 N(1<=n<=1000)个人在晚上需要从 X 地到达 Y 地,中间要过一座桥,过桥需要手电筒(而他们只有1个手电筒),每次最多两个人一起过桥(否则桥会垮),两人过桥时速度以慢的人为准!有多组测试数据,每组数据先输入一个人数 N,然后是这 N 个人过桥所花的时间(int)经过分析,我们可以把每两人分为一组,因此可能会有两个策略,只需每轮选择最优策略即可。依次输入 N 个人的过桥时间,编程求这 N 个人过桥所花的最短时间。我们先按照时间长短从小到大排序,总人数记为。,需要的时间分别记为。

2023-03-29 21:56:08 257

原创 【BIT C语言】David想对ASCII码进行位运算

这是一道很好的练习位运算的题目。本文采用了二进制位拼接的方法来解决这道题目。

2023-03-29 21:44:37 79 1

空空如也

空空如也

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

TA关注的人

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