- 博客(31)
- 收藏
- 关注
原创 STM32 串口协议简明教程
本文旨在介绍STM32单片机串口协议的使用。主要是为了个人复习,一段时间没用,就容易忘记。因此在文章中也不会出现串口的原理等讲解。本文使用单片机是STM32F407VET6核心板。因为是第一篇关于STM32的文章,我就浅浅讲一下新工程的创建。
2024-01-29 21:53:45
1268
原创 scanf对字符串、字符及其他变量的输入细节
作为一个高一就接触C语言的老玩家,写这篇博客给我有一种返祖的感觉,毕竟scanf是我第一天就学的东西……但是很无奈,前些天的C语言考试,就是死在了输入这边。逻辑轻松秒杀,数据就是怎么都输入不对。离谱的scanf,以前都是用cin习惯了,现在个人感觉上级小考最难的就是scanf……网络上的详解不够“亲民”,我在这里特地做了一个亲民的教程,保证能够真正学会使用scanf。文章中华,我总结了一个scanf通用公式,用伪代码的形式给出了scanf的输入逻辑。可以完美应对期末考试的scanf输入问题,不会出现错输
2022-06-11 11:43:02
16183
19
原创 Arduino常用指令汇总+详解
基本数字IOpinMode(pin,Mode);//pin为数字引脚编号,Mode是输出状态//一般有OUTPUT和INPUT和INPUT_PULLUP三种状态//注意,INPUT_PULLUP相当于直接给这个叫接了一个上拉电阻(连VCC),所以此脚默认输出高电平...
2022-01-26 11:26:27
11774
2
原创 《51单片机C语言程序设计教程》涉及的细节问题笔记
前言上一次写博客仿佛是在一万年前。不论你想从这篇博客中了解到什么,如果你是一个新手,请自己审查自己手里拿着的板子。我的单片机型号为STC89C52RC,如果你不是这个型号,那么本文所述可能将不适合你的开发。另外,本文编写的目的是以STC89C52RC为参考,来纠正**《51单片机C语言程序设计教程》(作者王云·异步图书·人民邮电出版社)**中的一些表述和代码。并不是说这本书说错了,而是这本书实在过于古老(自己看看那示例图片的浓浓XP风),已经不适合我这块生产于2021的开发板了本文将持续更新单片
2022-01-18 14:28:19
2567
2
原创 C++区分int *p[Length]和int(*p)[Length](超级详细)
自己学C++的时候就碰到过这个问题,是在NCR的课本里碰见的一个习题。上网查了,感觉没什么帮助。网络上差不多就是说:*int p[Length]是申请了一个Length长度的数组,然后这个数组里面的每一个元素全部都是指针。*int(p)[Length]则是申请了一个指向Length长度的指针然后我就开始各种好奇:一个指针指向一个元素,怎么会一个指针指向一排的元素呢?难道是跟数组一样,有一个代表性的地址(如&array[0]),然后让指针指向数组的首地址就是指向整个数组一样吗?由此,我还很好奇类
2021-07-16 15:49:42
327
原创 SOM v3.3.3 C++ DLL用户自定义技能实战
SOM v3.3.3 二次开发中 C++ DLL用户自定义技能基础篇(一)前言DLL,即动态链接库,是一种应用程序扩展。在SOM v3.3.3 二次开发中,这是一种用户自定义技能的脚本。在之前的LUA脚本的教学中,我们已经充分感受到了官方函数的种种劣势 好像有点夸张 所以本期博客重点介绍我们的自定义用户技能。这篇博客中我们不测试任何实例,仅仅使用一个实例作为模板讲解!为了方便读者阅读,...
2020-04-11 13:00:11
3744
15
原创 SOMv3.3.3二次开发中LUA脚本对机基础操作指南
前言先感谢亲爱的学长,没有他们,我一个人根本无法完成这篇博客顿首,顿首,再顿首!!!本篇博客属于实验记录,由于LUA脚本较为简单,所以本博客不多做深入探讨,基本上是把官方的用法更为详细地记录一下。本博客只涉及官方LUA,由于实验时间会持续好几天,所以本博客会动态更新,内部难免也会出现不少纰漏(毕竟是一边实验一边制作的)另外,对于完全不懂得LUA代码的调试和使用的同学请看这篇博客(点我)...
2020-04-03 16:44:28
5246
2
原创 SOM v3.3.3二次开发中LUA脚本的基本用法和环境搭建
前言前不久接触了这种新式的脚本语言LUA,和一些机器人二次开发的一些概念。很杂很乱,其实在开始学习这个杂七杂八的玩意儿之前,就已经暗自打算一定要写一写技术博客来记录自己的学习,然而时间不是很多,一直都没有写,甚至机器人的事情也被耽搁了下来。网络上找不到类似这种ILOBOKE机器人开发的技术文章(技术太偏),很多问题就只能求助于社里经验丰富的前机器人足球队队员,或者靠自己看文档(说实话官方给的S...
2020-03-27 16:00:58
6310
10
原创 codevs P3027 线段覆盖 2
开学了骚话不止班主任是美女。我最近几天刷OJ很是颓废,在校是真的懒,拿了好多道题思考,没AC一道。但是一回家就茅塞顿开,神奇。记录一下防止以后忘记了线段覆盖 2 问题引入题目描述 Description数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段价值之和最大。n...
2019-08-31 18:20:30
238
原创 数论基础:斐波那契数列全讲
在烧脑之前的骚话我仿佛在逗你玩。Fibonacci数列题目描述 Description斐波纳契数列是这样的数列:f1 = 1f2 = 1f3 = 2f4 = 3…fn = fn-1 + fn-2输入一个整数n求fn输入描述 Input Description一个整数n, n<= 40输出描述 Output Description一个整数fn数据范围及提示 D...
2019-08-23 22:54:41
1075
3
原创 分治经典——归并排序(MergeSort)
分治法分治,字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分治法就是运用分治思想的一种很重要的算法。分治法是很多高效算法的基础,如排序算法(快速排序,归并排序),**傅立叶变换(快速傅立叶变换)**等等。归并排序示例代码void mergex(i...
2019-08-22 09:44:36
1166
原创 codevs P1068 乌龟棋
还没睡醒就写的博客昨晚看电影去了,今天早上好好弥补一下。乌龟棋题目描述 Description小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一 的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。…… 1 2 3 4 5 ……N 乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所...
2019-08-22 07:53:24
232
原创 codevs P1576 最长严格上升子序列
前言本博客附属于LIS算法讲解(点我学习),有兴趣可以了解。本博客是上述博客的练习博客。最长严格上升子序列题目描述 Description给一个数组a1, a2 … an,找到最长的上升降子序列ab1<ab2< … <abk,其中b1<b2<…bk。输出长度即可。输入描述 Input Description第一行,一个整数N。第二行 ,N个整数(N &...
2019-08-21 18:02:12
148
原创 LIS算法(DP)——最长不上升子序列(codevs P1044 拦截导弹)
戒骄戒躁戒傲原本对我来说,这种三岁小孩的题目是完全不需要写博客的。咳咳,今天中午吃得很好,而这道题是我饭后的甜点,毕竟刷题之前AC一个代码还是很舒服的一件事情。然而。。。。。。这个经典的LIS问题——拦截导弹居然活生生耗了我一个小时二十分钟!额。。。你想知道我是怎么耗的?我不是卡在第一问,而是该死的第二问把我难住了。确切的说不是难住,而是我看过某奥赛一本通里边说第二问直接贪心,而且看他给的示...
2019-08-21 17:46:46
348
原创 codevs P1295 N皇后问题
人生第一道OI难题(当然对于作者)今天很纳闷,非常非常非常非常非常非常纳闷。为什么呢?因为我居然连个八皇后问题都AC不了。痛苦吧。贾诩台词:哭喊吧,哀求吧,挣扎吧,然后,死吧!过了样例好歹送我一个AC都不行么!额,这RE真神奇。下面的代码OpenJudge可以过就是这codevs。。。。。。这道题过不了这黄金段位上不去啊。这里贴出代码给诸位大佬看看哪里错了(这明明就是没错。。。。...
2019-08-21 14:55:22
272
7
原创 codevs P1010 过河卒
古老而悠久的问题上一次提这个问题——我还是个渣。教练说这是用递推法。。。。。。当然了我就丢个递推过去(当然是瞎递推的 ),当时连个样例都过不了,我不知道我是怎么想的居然还敢提交!而且连结果也没有,都是一把的RE。后来拿去问教练,这 * * 也不理我只好拿这个题目去问信息老师,然而我们学校在前几届高考信息技术高考凭着省内各路牛校压根不鸟信息技术这个东西所以水了个技术名校,(求喜高人请忽略)...
2019-08-21 10:26:37
223
原创 codevs P1014 装箱问题
装箱问题题目描述 Description有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入描述 Input Description一个整数v,表示箱子容量一个整数n,表示有n个物品接下来n个整数,分别表示这n 个物品的各自体积输出描述 Output D...
2019-08-20 14:24:08
222
原创 codevs P3117 高精度练习之乘法
一万(ge)字检讨书今天早上心情很好,然后我想AC几道题来展示自己很牛逼。[手动滑稽]然后我就想找一找简单的题来练练。突然想起codevs黄金天梯赛里有三道高精度的练习题,然后翻了翻,很快解决了高精度加减法。然后我就开始无情嘲笑高精度乘法 因为我觉得我写得很爽很6啊。然后一遍过样例~~~~~~心情愉快的无法想象。然后提交。这真 * * 大块人心。。。。。。然后愉(jue)快(w...
2019-08-20 13:05:44
201
原创 克鲁斯卡尔算法(Kruskal Algorithm)——图的最小生成树
听骚话讲作者[手动滑稽]其实早就该写这篇博客啦。图的最小生成树一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或Prim(普里姆)算法求出。换句话说,就是使原图变成一棵树并且要求这棵树中保留的边最小。(变树的过程需要删除边)如下图,红线为此图的一个最小生成树:浅谈克鲁...
2019-08-19 18:06:01
1854
原创 运算符重载附加篇——字符串(OI选手专用)
听作者讲骚话这是我写完结构体之后的故事了…后来有一位比霍金还sao的很年轻漂亮苗条老女人 来问我说碰到结构体包含二维数组怎么办(⊙o⊙)…其实排序的时候,sort交换元素使用的就是类似swap的东西,会交换对象的所有地址。因此你可以把二维三维四维五六七八维都往结构体里扔,这是没有关系的。如果要在一个结构体里扔很多字符串,不建议使用C++类字符串就是这个东西:string a[max...
2019-08-18 14:54:50
353
原创 codevs P1214 线段覆盖
听作者讲骚话说真的我很反感某些blogs扔一个代码就叫题解。好歹也放个题目啊这样就不用搜了水遁——水一个博客之术!线段覆盖问题题目描述 Description:给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,……N.这些坐标都是区间(-999,999)的整数。有些线段之间会相互交叠或覆盖。请你编写一个程序,从给出的线段中去掉尽量...
2019-08-18 14:23:09
178
原创 结构体与运算符重载(附赠重载高精度加法)
什么是结构体带过一下一些基础问题。这是一个很高级的问题。啊,名字上很高级。结构体其实就是一个自定义
2019-08-17 19:04:22
1144
4
原创 高级数据结构——线段树
听作者讲骚话今天是很沉重的一天,进来CCF官宣取消OI,也不知道是不是真的。OIer们不要放弃梦想!大家一定要勇往直前!这线段树会很难…至少我是这么想的…不过我也是经过百般实验才敢写这个博客!线段树我要你何用?假定我给你一个定区间,让你以最快的速度做这样的操作:修改其中的一个子区间,查询另一个子区间的值,而且重复这些操作。你会说:for循环。没错,这复杂度是O(N)线段树可以说是区间神器...
2019-08-16 21:36:41
323
2
原创 二分图最佳完美匹配——KM算法
前情概要学km算法之前,笔者还是希望大家已经掌握了匈牙利算法——也就是对于求解二分图最大匹配的算法。学习本算法的前提除了已经掌握C++语言之外,还需要掌握邻接表存图法,不会的朋友这里有传送门 [微笑]邻接表存图法km算法是匈牙利算法的改进,他不仅仅继承了匈牙利算法的最大匹配,还可以让匹配后所有匹配边权重加起来最大或者最小——计算机算法总是寻找这些“最”。如果大家对什么是二分图或者什么是二分图...
2019-08-16 20:42:58
4288
3
原创 初探LINUX——VIM基本操作
讲骚话啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!这个vim折磨了我一天,终于完成了vim的配置!!!!!!为了这个东西,我翻了无数的博客…然后,不知是因为人家用的linux跟我不一样还是咋回事,有很多东西在我的kali系统里面就疯狂报错555所以…我…借鉴了无数博客,终于东拼西凑做出了自己的vim!!!好的吧,也许你看了我的博客,也不一定成功…因为你的...
2019-08-12 18:36:06
512
原创 位运算和比特数组
枚举查找和对分查找的优劣枚举查找的劣势简直无需多言,有n个元素,那复杂度就是o(n),查找一个元素是如此地费劲!倘若我需要你做m次查找,复杂度就是o(n*m)。当然,我们可以用对分查找来优化,但是对分查找需要一个有序的数组,通过每次对折一半的方法,最终的复杂度是o(logn),小于线性。但是这还是不能让我们满意。在解决图论问题时,我们用到了DFS。DFS要求不能经过重复的点,所以我们需要创建一...
2019-07-16 21:41:34
1428
原创 贝尔曼算法队列优化(SPFA)
最短路问题想必大家接触图论的时候,结束了DFS和BFS,接下来就是求最短路了吧!在学SPFA之前,你也许已经接触过弗洛伊德算法和迪杰斯特拉算法,甚至还学过贝尔曼算法,然而,不管你以前学过什么,今天的SPFA都可以向你保证——零基础学会!言归正传,话回正题。什么是最短路问题呢?就是求两点之间的最短路,当然是一个带权图(没权值的图还最短?)。然而SPFA是由贝尔曼改良过来的,所以这也是单源最短路...
2019-07-15 12:13:01
454
1
原创 动态规划基础——0/1背包问题
0/1背包问题的描述这种背包问题是最基础的一类背包问题。只要掌握的这种,后面的也就是大同小异了。因此,我在这个问题上将讲得非常详细。0/1背包问题就是存在一个背包有着固定的容积M,物品有自己的质量w和价值c,当然,每一个物品都只有一件,而且不可拆分。你的任务是:把这些东西装入这个背包,使装入物品的价值最大。首先,贪心算法只有在物品可分的时候才会生效(求性价比),搜索这个指数级的复杂度不解释!...
2019-07-14 20:35:53
357
1
原创 二分图最大匹配——匈牙利算法
什么是二分图今天终于复习到了二分图了。写个博客纪念一下…二分图,额,笔者感觉有点点无聊?如果有人现在突然问我:什么是二分图?(⊙o⊙)…我也很难讲——很难专业地讲(专业的真的很恶心,反正我理解不了)…但是,我还是想跟你讲什么是二分图。下面这个,有点像小学玩过的连连看——这就是二分图。当然,有专业的大神就听听二分图的定义吧:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一...
2019-07-14 15:12:40
536
原创 Tarjan算法——求强连通分量
什么是强连通分量强连通分量,是一个有向图的最大强连通子图(看起来好像没有什么解释效果…),好吧,强连通分量就是在一个有向图中,从任意一个点出发,最多可以走过的所有的点构成的一个点集,将其称之为强连通。强连通分量就是这些集合里面最大的那个。如下图:2,3,5,就是强连通的,因为从二出发可以到达2,3,5的任意一个点。所以1,4,也是强连通的。我们不难发现,除了双向边以外,强连通都是环套环的形式...
2019-07-12 20:20:35
2931
1
原创 邻接表存图法
邻接表存图法也才刚刚学会这个不久,记一下防止忘记了。邻接表适合存储稀疏图,它不会像邻接矩阵一样浪费大量的空间,而是把所有的边存在一个表里面,在需要的时候,就遍历该表,然后找出自己想要的边。存储边的方法和邻接矩阵其实是一样的,邻接矩阵里面,e[a][b]=1就表示从点A到点B有一条距离为一的边(两点确定一条边),那么邻接表也是大同小异,我们需要一个结构体数组作为边表,如下:struct edg...
2019-07-12 15:13:56
3373
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人