- 博客(53)
- 收藏
- 关注
原创 KEIL报错:fatal error in include chain(stm32f4xx_conf.h): stm32f4xx_dma.h not found 解决办法(参考同平台大佬)
程序正常编译可以通过,也不报错,但是头文件“sys.h”有一个下划红线(因为我的已经改过了,所以此处用红色标记了下,鼠标光标靠近,提示我有错误:KEIL报错:fatal error in include chain(stm32f4xx_conf.h): stm32f4xx_dma.h not found ,也是找到了网上也有人遇到了相同的问题,https://blog.youkuaiyun.com/gin_love/article/details/87633814附上链接解决办法: 找到keil软件安装路径的U..
2020-11-30 17:31:54
11042
7
转载 (转)关于stm32报错Library reports error: __use_no_semihosting was requested
编译环境:KEIL5报错代码:Error: L6915E: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced解决办法找到usart.c文件中的_sys_exit函数_sys_exit(int x) { x = x; } 大约47行,在他后边加入//__use_no_semihosting was requested, but _ttywrch.
2020-11-18 14:48:49
654
转载 (转)KEIL里 Volatile的用法
volatile用于防止相关变量被优化。例如对外部寄存器的读写。对有些外部设备的寄存器来说,读写操作可能都会引发一定硬件操作,但是如果不加volatile,编译器会把这些寄存器作为普通变量处理,例如连续多次的对同一地址写入,会被优化为只有最后一次的写入。实际上,网卡的数据发送,就是按顺序连续往一个同地址写入数据,如果被优化,网卡将不能正常驱动。对于外部寄存器的读写,经常用 XBYTE,其实你看一下XBYTE的原型就知道了,里面也是有个volatile的。另一个使用场合是中断。如果一个全局变量,在中断函
2020-11-10 10:51:11
2400
原创 poj 1995 快速幂二进制取模算法
本题大意:求a1的b1次方加a2的b2次方一直加到an的bn次方,用他们幂的和对一个数x取余,把结果输出!参考出处:http://www.cnblogs.com/yan-boy/archive/2012/11/29/2795294.html(感谢原作者!)矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运
2015-08-24 16:35:16
1575
原创 拓扑排序
什么是拓扑排序?实现过程:解决的办法其实很简单Ò1、在有向图中选一个没有前驱的顶点且输出之。Ò2、从图中删除所有以它为尾的弧。ÒÒ3、重复上述两步,直到全部顶点已经输出,或者是当前图中不存在无前驱的顶点为止。后一种情况则说明图中有环存在。方法:拓扑排序的方法和步骤:(1)在图中选一个没有前趋的顶点并输出之(2)删除该顶点及由它发出的各
2015-08-21 08:48:50
379
原创 hdoj 2112 HDU Today dijkstra(字符串编号)
一道简单的dijkstra,前几天刚学的map函数对字符串进行编号,正好利用这个题练练手 HDU TodayTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 197
2015-08-19 09:37:44
412
原创 产生冠军 拓扑定理(如何对字符串进行编号)
产生冠军Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11672 Accepted Submission(s): 5425Problem Description有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛
2015-08-18 19:55:21
506
原创 hdoj 2680 Choose the best route(dijkstra 多起点 单终点)
hdoj 2680 http://acm.hdu.edu.cn/showproblem.php?pid=2680题目大意:一个小孩想要去看望他的朋友,他家附近有好几个出发站,去朋友家需要倒不同的车,题中给了多条车站之间的铁路距离,你需要选择一个出发站,找到去朋友家的最短路径,输出路径长度。 心得:一开始自己的想法就是输入多个起点调用多次dijksta,可是一直超
2015-08-18 17:15:41
514
原创 hdoj 2066 一个人的旅行(dijkstra)多源点多
一个人的旅行Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 24764 Accepted Submissio
2015-08-18 17:01:51
751
原创 hdoj 1874 (畅通工程续) +dijkstra算法解析
算法描述(类似prim)1、在开始之前,认为所有的点都没有进行过计算,dis[]全部赋值为极大值(dis[]表示各点当前到源点的最短距离)。2、源点的dis值明显为0。3、还没算出最短路的点中dis[]最小的一个点u,其最短路就是当前的dis[u]。4、松弛操作:对于与u相连的所有点v,若dis[u]+cost[u][v] 比当前的dis[v]小, 更新dis[v]。5、重复3,4直到源点到所有点的最短路都已求出。
2015-08-17 19:16:45
721
原创 hdoj 1856 more is better (如何记录节点数)
题目 :http://acm.hdu.edu.cn/showproblem.php?pid=1856More is betterTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 191
2015-08-14 15:40:27
408
原创 hdoj 1242 Rescue (bfs+优先队列)
运算符重载定义:C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符
2015-08-13 15:58:30
441
原创 hdoj 1875 畅通工程再续 (最小生成树之prim算法)
最小生成树n使用不同的遍历图的方法,可以得到不同的生成树;从不同的顶点出发,也可能得到不同的生成树。n按照生成树的定义,n个顶点的连通网络的生成树有 n个顶点、n-1条边。n构造最小生成树的准则n必须使用且仅使用该网络中的n-1条边来联结网络中的 n个顶点;n不能使用产生回路的边;n各边上的权值的总和达到最小。 pr
2015-08-12 16:12:46
534
原创 hdoj 1863 畅通工程(最小生成树)
最小生成树之kruskal算法1.kruskal算法假设连通网N=(V,{E})。则令最小生成树的初始状态为只有n个顶点而无边的非连通图T=(V,{}
2015-08-11 22:04:10
585
原创 poj 2752 Seek the Name, Seek the Fame (kmp主要问题剖析)
1、 kmp最小循环节问题,以及最大重复次数(参考网上大神的)在KMP算法的使用中,首要任务就是获取一个字符串的next数组,所以我们得明白next数组的含义(最好的方法是自己弄个例子,在草稿纸上模拟一下),在这里,通俗一点讲,next[k] 表示,在模式串的 k 个字符失配了,然后下一次匹配从 next[k] 开始(next[k] 中保存的是该失配字符的前一个字符在前面出现过的最
2015-08-10 16:51:42
364
原创 hdoj 2717 Catch That Cow(一维坐标广搜)
本题最大的障碍就是如何记录最优路线的步数!Catch That CowTime Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 124 Accepted Submission(s) : 48Problem Descr
2015-08-07 22:12:27
394
原创 poj 3461 Oulipo (求匹配字符串的个数)(KMP)
OulipoTime Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 91 Accepted Submission(s) : 57Problem DescriptionThe French author Georges
2015-08-07 17:21:08
457
原创 poj 2406 Power Strings (KMp)
题意:给一个字符串S长度不超过10^6,求最大的n使得S由n个相同的字符串a连接而成,如:"ababab"则由n=3个"ab"连接而成,"aaaa"由n=4个"a"连接而成,"abcd"则由n=1个"abcd"连接而成。定理:假设S的长度为len,则S存在循环子串,当且仅当,len可以被len - next[len]整除,最短循环子串为S[len - next[len]]例子证
2015-08-07 16:51:27
351
原创 hdoj 1397 Goldbach's Conjecture (大数素数打表)
这道题本以为就是简单的合数分解,求素数组合数,没想到总是TLE,后来才发现里面的数范围特别大 2^15,所以只能打表了(把所有2^15以内素数标记为1,不是的标记为0)Goldbach's ConjectureTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O
2015-08-06 17:29:09
347
原创 poj 3984 迷宫问题 (BFS+递归)
我觉得这道题困难就是:如何记录每次走的方位,然后找到走到终点的最短路径,并把走的路线输出!注意:1、因为你是在一步一步的走,走相同的步数,肯定谁先到达终点谁的步数最小,所以只需把先到终点的那个值输出来就是最小的! 2、用结构体数组记录每一步走的路线。 3、一个记录肯定不够,还要定义一个变量,使能通过它找到上一步走的路线,直到找到第一步。
2015-08-06 11:24:31
1489
原创 hdoj 1181 变形课(深搜)
变形课Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 18097 Accepted Submission(s): 6501Problem Description呃......变形课上Harry碰到了一
2015-08-05 18:54:02
476
原创 gcd,快速幂,邻接表问题 (深度优先搜索的三个范例)
gcd(辗转相除法)算法#includeint gcd(int a,int b){ if(a<b) { int t=a; a=b; b=t; } if(b==0) { return a; } return gcd(b,a%b);}int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { int
2015-08-04 23:02:38
335
原创 poj 3620 求最大连通水池的个数(深度优先搜索)
解题思路:设置一个计数器数组,在每次搜索的时候求出各个连通水池的个数,放置在数组里,然后把它们拿出来作比较,求出最多的!Avoid The LakesTime Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) :
2015-08-04 22:48:28
571
原创 hdoj 1016 素数圆环问题(深度优先搜索z和道题 )
这道题出现的最大问题是超时,后来参照网上的代码才明白原因: 按照自己的思想,先判断数字是否重复,此过程经历一系列递归,然后又在这些不重复的序列循环搜索素数序列,这样就经历了两回循环,必然耗时,而进行优化后,可以在递归过程用两个条件判断,既要求数字不重复,又要求相邻和两端必须是素数!大大减少了运行时间!
2015-08-04 22:30:01
635
原创 nyoj 58 最小步数(回溯算法应用)
最少步数时间限制:3000 ms | 内存限制:65535 KB难度:4描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1
2015-08-04 22:14:42
607
原创 zoj 2100 (播种能否全部播完)(回溯算法的应用)
一开始做就是按照普通的递归,一步一步递归,发现结果一直是YES,后来发现理解错了,如果直接递归算出来的是相邻的地的块数,没有考虑走的路线和方向,但此题需要一步一步的走,如果走到最后发现没法播种了,要返回前一步,然后把对应的刚刚播种的土地再回复原样!SeedingTime Limit : 2000/1000ms (Java/Other) Memory Li
2015-08-04 20:55:27
376
原创 hdoj 1312 下棋(递归问题)
Red and BlackTime Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 71 Accepted Submission(s) : 65Problem DescriptionThere is a rectang
2015-08-03 22:57:23
413
原创 hdoj 1969 分蛋糕问题(二分法的应用)
这道题是典型的二分问题,由于没有看到其中的一个已知条件(分给每个人的蛋糕必须是整个大块的,不能东拼西凑出来的)题目意思:我过生日请了f 个朋友来参加我的生日party,m个蛋糕,我要把它平均分给每个人(包括我),并且每个人只能从一块蛋糕得到自己的那一份,并且分得的蛋糕大小要一样,形状可以不一样,每块蛋糕都是圆柱,高度一样。此题是一个二分题,下限是用最大的分,上限是sum/f+1。中间值
2015-08-03 22:32:39
2307
原创 周练个人赛(hdoj 1795)(求素数问题)
这道题理解题意有很大困难。其实就是求比原数大的最小素数心得:代码看似简单,但我却提交了数次,原因就是寻找素数的函数里不能从2找到本身(a应该找到根号它(a超时就是越界 六晚的BestCoder(有米!)The least oneTime Limit: 9000/3000 MS (Java/Others) M
2015-08-01 17:38:26
346
原创 poj 1328 区 间选点问题(贪心)
数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。贪心策略:按照b1证明:为了方便起见,如果区间i内已经有一个点被取到,我们称区间i被满足。1、首先考虑区间包含的情况,当小区间被满足时大区间一定被满足。所以我们应当优先选取小区间中的点,从而使大区间不用考虑。 按照上面的方式排序后,
2015-07-31 20:34:25
492
原创 hdoj 1950(求最长顺序子序列)二分法的深度应用
解决本题的关键就是:理解题意,左边有一排纽扣,无序连接到第二排纽扣上,你的目的是让纽扣无交叉,把查找到的最长顺序子序列输出!题目如下欢迎参加——每周六晚的BestCoder(有米!)Bridging signalsTime Limit: 5000/1000 MS (Java/Others)
2015-07-30 22:39:20
527
原创 hdoj 2199 寻找等式成立的近似值 (用二分法寻找等式成立的临近点)
二分法的基础应用: 题目如下:欢迎参加——每周六晚的BestCoder(有米!)Can you solve this equation?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768
2015-07-30 22:29:54
426
原创 hdoj 1727 小希的迷宫 (并查集问题)
1.此题的本质就是寻找线路构成的环数2.注意写入数据时候调用函数,如何将所有数据串在一起!hdoj 1232链接小希的迷宫Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 72
2015-07-29 22:35:39
365
原创 hd1232 修路最少(并查集问题)
并查集: 是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题; 如图所示: 根节点:一个集合最上一层的一个结点,每个集合只有一个根节点! 父节点:上一级是下一级的父节点;例: b 是 d 的父节点;父节点是本身的点为根节点! 子节点:下一级是上一级的子节点;例: d
2015-07-29 22:23:40
691
原创 nyoj 757 (扣分最少)(队列问题)
看到题之后,一头雾水,尤其是最后期限有相同的,根本不知道怎么排序,于是在网上找了些大神的思路,才明白过来!期末考试时间限制:1000 ms | 内存限制:65535 KB难度:2描述马上就要考试了,小T有许多作业要做,而且每个老师都给出来了作业要交的期限,如果在规定的期限内没交作业就会扣期末成绩的分数,假设完成每门功课需要一天的时间,你能帮助小T扣除的分
2015-07-28 19:33:07
566
原创 nyoj 55 (摘果耗费体力最少)(队列问题)
}push(x) 将x压入队列的末端}基本操作:}empty() 如果队列为空返回真}pop() 删除对顶元素}size() 返回优先队列中拥有的元素个数}top() 返回优先队列对顶元素}
2015-07-28 17:06:49
1050
原创 hdoj 1022 火车进出站问题
分析:这道题目完全是考察对栈的理解和运用,给出一个入栈的序列和一个出栈的序列,要求判断在此入栈顺序的前提下,能否按此出栈顺序出栈,能的话输出入栈和出栈的顺序。1、先建立一个栈,用来模拟进栈和出栈的过程。2、先从入栈顺序中找出第一个出栈的元素,并把入栈顺序中在此元素之前的元素push进已经建立好的栈。3、不断取栈顶元素与出栈顺序中的元素比较,一样就出栈,不一样时,继续从入
2015-07-27 21:14:14
1280
原创 hdoj 1019 最小公倍数问题
我最初以为这是大树乘除法问题,后来发现只是普通的求最小公倍数方法。原题:Least Common MultipleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38411 Accepted Submissio
2015-07-27 16:51:20
653
原创 nyoj 括号匹配问题(栈的应用)
括号配对问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes
2015-07-27 11:07:13
435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人