dfs和bfs
文章平均质量分 59
递归与递推的习题
linengcs
Keep Coding, Keep Happy
展开
-
带分数(嵌套dfs)
原题链接#1 纯暴力搜索算法流程:利用next_permutation得到数组1-9的每种排列情况,用暴力双重循环来遍历出介于数组之间的任意两个位置(夹板),从而将数组分成三部分,分别为a,b,c,再判断a.b.c是否符合要求,记录个数要点:对于计算一个数组中任意位置之间的数字,采用下列代码可以很好解决,l为起点,r为终点int calu(int l, int r){ int res=0; for(int i=l; i<=r; i++) res =原创 2022-01-17 16:44:22 · 424 阅读 · 0 评论 -
Uva572 Oil Deposits(DFS连通块
英文题目分析:看到这个题的第一反应是建图,然后依次深搜每一个点(在一次深搜中给搜到的点打上标记),深搜一次就是一个块,最后求块和但是在在建图上面自己纠结于要建一个独立的邻接矩阵,过程很繁琐,后来看了参考代码后就改成遇到一个油田就深搜(还未被归属于某个块的)这个题纠正了自己的对图深搜的理解,在Brute Force专题里的深搜就是去遍历解答树,找到符合要求的节点(答案),而这个深搜模板与图的深搜(stack)不同,我就特意划分开来,避免搞混,导致在这个题上第一反应也是深搜,但是却走了歪路..原创 2021-12-07 16:57:04 · 430 阅读 · 0 评论 -
Uva816 Abbott‘s Revenge (图的bfs)
英文原题https://onlinejudge.org/external/8/p816.pdf收获:数组可以存多维,看自己怎么用,不要被二维限制 涉及多种情况的能用规律数字(递增)表示最好,减少代码冗余,更加易懂例如:本题用不同的朝向,不同的转向都用字符串的下标表示,direction="NESW",turns="FLR",在访问的时候就可以0-N,1-E,2-S,3-W表示,更加方便,而不是用大量的if或者case语句 memset比fill更适合初始化多维数组 图bfs用queue存,图的原创 2021-12-08 11:30:39 · 262 阅读 · 0 评论