DFS
leoxry
天道酬勤,拼搏一个最好的自己送给未来的自己,每天开开心心敲代码就是一种幸福,不计得失,回归刚开始学习时内心的单纯
展开
-
深度优先搜索练习之神奇的矩环
think: 1感觉自己用的不是深度优先搜索啊,——话落即发现如何判错自己的代码,人果然还是否定自己比较容易..无语啊sdut原题链接深度优先搜索练习之神奇的矩环 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 小鑫的女朋友被魔王抢走了! 魔王留给小鑫一张n*m大的表,上面有各种各样的颜色,用A-Z这26个字母来表示。魔原创 2017-02-16 21:42:39 · 905 阅读 · 0 评论 -
【树形dp+前向星】Godfather POJ - 3107
Think: 1题意:给出一棵树,询问试探删除一个结点后可使得余下两个连通子图中的最大结点子图的结点数量是所有结点试探的最小值(找到一个点,其所有的子树中最大的子树节点数最少) 树的重心——参考自百度百科 2思路: 1>结点可达到5000不能使用邻接矩阵存储,因此使用前向星存储边的关系 2>DFS试探(+树形dp)寻找最优解 树形dp建议参考博客1 树形dp建议参考博客2vjudge题原创 2017-06-17 16:07:04 · 377 阅读 · 0 评论 -
G - Travel HDU - 4284——floyd+dfs
Think: 1知识点:floyd(需要判断重边)+dfs 2题意分析:PP要到一些城市去旅游,但是他的钱不一定足够,因此会在必须去的城市购买一次签证进而挣钱,近经过城市不需要购买签证,题目给定n个城市,m条边,询问PP从1号城市出发是否可以去所有必须去的城市,是输出YES,否输出NO 3思路:floyd预处理城市之间能够互达的最少花费,dfs暴力搜索每一条可能的路径 4可能优化思路:搜索题原创 2017-07-27 10:56:10 · 338 阅读 · 0 评论 -
P - FatMouse and Cheese HDU - 1078——dfs+记忆化搜索
Think: 1知识点:dfs+记忆化搜索 2题意:输入一个邻接矩阵,求一条递增路径,满足沿四个方向直线移动最多k步的条件,使得路径经过的点权之和最大vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int inf = 0x3f3f3f原创 2017-08-09 17:33:50 · 408 阅读 · 0 评论 -
B - 滑雪 POJ - 1088——dfs+记忆化搜索
Think: 1知识点:dfs+记忆化搜索 1>记忆化搜索=搜索的形式+动态规划的思想 2>记忆化搜索简介: 记忆化搜索:算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。 一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。 更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。 记忆化算法在求解的时候原创 2017-07-29 20:57:07 · 481 阅读 · 0 评论 -
K - Oil Deposits HDU - 1241——DFS
Think: 1本题DFS函数含义:寻找符合条件的连接体 2遍历方向:8个方向建议参考博客链接K - Oil Deposits HDU - 1241 The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with原创 2017-05-20 21:58:57 · 438 阅读 · 0 评论 -
D - Find The Multiple POJ - 1426 ——DFS || BFS
Think: 1变量存储数值越界问题 2递归函数得到优解不再继续遍历问题D - Find The Multiple POJ - 1426Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the di原创 2017-05-19 17:50:41 · 494 阅读 · 0 评论 -
Password UVA - 1262——DFS
Think: 1方法: 1>数学规律+DFS or 数学规律+递推 2>暴力枚举 2反思:题意没有理解好,结果一直Wrong Answer(符合对应列都出现的元素没有去重)vjudge题目链接以下为Accepted代码#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int k, an原创 2017-05-30 17:00:27 · 387 阅读 · 0 评论 -
D - Escape HDU - 3533——预处理+BFS
Think: 1知识:预处理+BFS 2反思: 1>英文读题能力需要加强,读题心态要静下来 2>Error:数组越界 3>Error:预移动状态推演 4>Error:可达性状态判断错误vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <queue>using namespace std;struct原创 2017-05-28 22:30:15 · 471 阅读 · 0 评论 -
C - 哈密顿绕行世界问题——DFS
Think: 1DFS: 1>控制结束条件 2>传递 2反思: 1>不自信 2>未判断最后一个城市是否可以到达初始出发城市(感谢鑫哥点拨) 3收货: 1>DFS加深理解 2>通过宏观分步调试判断出现错误地方 3>哈密顿图理解:不重复经过每个结点回到最初出发结点vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>us原创 2017-05-23 19:49:59 · 675 阅读 · 0 评论 -
走迷宫——深度优先搜索
Think: 1error ld returned 1 exit status错误可能原因: 1>函数调用与定义名称不匹配或定义名称与预定义名称不匹配 2>电脑多进程任务已进行(打开电脑任务管理器,将正在调试运行的程序关掉)走迷宫 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 有一个m*n格的迷宫(表示有m行、n列)原创 2017-04-19 17:19:30 · 832 阅读 · 0 评论 -
5-13 地下迷宫探索 (30分)——DFS
sthink: 1开学后一直没有写博客,感觉明显没有假期时候的学习效率,不管是专业课还是别的课程,感觉自己很难达到第一学期的激情与效率,相对于别的同学感觉自己变得迷茫了,不再像是第一学期一样谦逊,老师说过看不清前方的时候就坚持那些让自己能力不断提高的事情,或许会很累,但那总不至于在以后看清的时候却发现自己晚了,似乎每个人都是在摸索中前进,而不是非等到一切明朗时候才去做,自己还年轻,自己应该拼搏,而原创 2017-03-07 20:10:40 · 999 阅读 · 0 评论 -
5-4 输出全排列 (20分)——DFS
pta原题链接以下为建议参考代码#include <stdio.h>#include <string.h>int vid[14], ans[14], n;void DFS(int step);int main(){ while(scanf("%d", &n) != EOF) { memset(vid, 0, sizeof(vid)); DFS原创 2017-03-19 17:04:30 · 1411 阅读 · 0 评论 -
列出连通集——DFS+BFS
think: 1深度优先搜索体现了递归的思想,广度优先搜索体现了队列的思想6 列出连通集 (25分)给定一个有NNN个顶点和EEE条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1N-1N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式: 输入第1行给出2个整数NNN(0原创 2017-03-09 11:02:44 · 1824 阅读 · 1 评论 -
走迷宫
think: 1题目似乎没有很明显的模板性,我是否应该反思转换学习图的方法,自己目前的认识水平这个题目很难找到DFS与BFS的影子,自己应该把思维延伸,将DFS与BFS的思想运用到解题中,而不是急于求成,越是急于求成,根基越是不牢,最后只会导致自己寸步难行,既然自己在学习图的存储结构中决定展现自己的做题风格,那么自己越是艰难越不能盲目做题, 题目说每次可以往上下左右四个方向移动也就意味着每在一个原创 2017-02-15 19:00:42 · 698 阅读 · 2 评论 -
数据结构实验之图论四:迷宫探索
think: 1递归的过程理解 2邻接矩阵理解 3深度优先搜索理解sdut原题链接参考博客链接数据结构实验之图论四:迷宫探索 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点?原创 2017-02-15 15:42:54 · 392 阅读 · 0 评论 -
图的深度遍历
think: 1题目可以邻接矩阵存储,如果用邻接表得需要将邻接表进行有序化,自己一开始没有用有序化邻接表,根据推算自己的样板数据应该并不通过,但样本数据竟然对了,当然提交OJ之后wrong answer,邻接表可塑性很高,自己需要静下心来深入研究,当然邻接矩阵也不能忽视,邻接矩阵可理解性比较高,但时间复杂度有点难以大幅度优化,解题很可能伴随着超时的情况 2图的深度遍历感觉自己并不是很理解,图的深原创 2017-02-15 12:25:53 · 641 阅读 · 0 评论 -
【记忆化搜索】爬楼梯 OpenJ_Bailian - 4017
Think: 1知识点:记忆化搜索 2题意:爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。 3知识点思考: (1):记忆化搜索即在搜索的过程中对会重复求解的部分进行记录,目的在于下次遇到这部分的时候直接使用所记录的解。 (2):记忆化搜索求解的过程按原创 2018-01-18 20:04:46 · 492 阅读 · 0 评论