![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
文章平均质量分 80
qwe585p
这个作者很懒,什么都没留下…
展开
-
H - 迷宫问题 POJ3984 (BFS+DFS)
搜索的简单题,一开始没太有很好的思路时, 从网上开了一些题解, 感觉他们过于小题大做,写的代码过于麻烦,繁琐。 于是我就想到了一个相对比较简单的算法。 解题思路: 分为两个步骤 1. 首先用最朴素的BFS求出从起点到终点的最小距离 即(0 , 0)——>(4, 4)的迷宫最短距离, 并记录这个最短距离dis; 2.再从起点(0 ,0)利用DFS边走边记录坐标,在正好走的距离为dis原创 2015-06-17 22:57:59 · 653 阅读 · 0 评论 -
POJ 2337 Catenyms(欧拉路径)
题意:在play on words的基础上增加了按字典序打印字符串。 解题思路:判断是否存在欧拉路径的方式和play on words 的方式一样。判断出度和入度即可,关键是如何按字典序输出欧拉路径,字典序可以先对输入的串进行排序,排序之后倒着输入进去, 最后输出再倒着输出就行了。 问题描述 A catenym is a pair of words separated原创 2015-09-04 20:05:03 · 399 阅读 · 0 评论 -
POJ 2230 Watchcow( 欧拉回路 )
题意:给定一张一定有解的图, 求每条边遍历不同方向两次再回到起点1,打印所经过的点。 解题思路:简单欧拉回路,因为已经确保是有解的, 所以不用判断连通性和是否为欧拉图,直接套模板就行了,每条边正反存两条就行了。 问题描述 Bessie's been appointed the new watch-cow for the farm. Every night, it's her原创 2015-09-04 14:20:02 · 480 阅读 · 0 评论 -
POJ 1041 John's trip(欧拉回路)
题意:给出两个点所构成的一条边 点和边各有各的计数规则,已知所给的图是连通图,求能否从起点出发,每条边经过切只经过一次再次回到原点,若不能输出错误信息,若能输出可能存在的路径的最小字典序。 解题思路: 题目已经明确所给的图是连通图,所以不用在判断图的连通性了。先判断是否存在欧拉回路,若有度数为奇数的点则不存在。可以使用链式向前星存图,边的编号可以想象成类似于权值,要求输出的字典序最小,所以在d原创 2015-09-02 19:03:35 · 369 阅读 · 0 评论 -
HDU 1878 欧拉回路(判断欧拉回路)
题意:略 解题思路:判断是否连通, 有没有度为奇数的点。并查集, DFS都可以, 用链式向前星建图会超时, 不知道为什么, 邻接矩阵反而不超时。 欧拉回路 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10725 Ac原创 2015-09-01 19:41:01 · 1134 阅读 · 0 评论 -
HDU 5423 Rikka with Tree(DFS)
题意:略 解题思路:首先若保证一棵树是一颗特殊的树,其深度的分布应该是1 1 1 1 ……X 除了最后的叶子节点,其余位置不允许有分叉开花。(一开始错了几次,没考虑最深的一层可以分叉)。深搜记录节点深度。再乱搞一下就行了。使用并查集记录节点深度也可以(没尝试)。 Rikka with Tree Time Limit: 2000/1000 MS (Java/Others) M原创 2015-08-31 22:56:57 · 346 阅读 · 0 评论 -
【 LightOJ - 1094】Farthest Nodes in a Tree(求树的直径)链式向前星 + DFS or BFS
题意:求一棵树的直径(两点间的最长距离) 解题思路:求一颗树的最长直径,就是从树上任意一点出发找到一条最长的路,再找一条除了这条路以外的次长路,加起来就是树上的最长路(自己画画就明白了),所以用两种做法,DFS遍历一次全图找到最长路和次长路,也可以先BFS一次找到一条最长路,在从此路再找一条最长路(可不是原路返回),类似于有a,b,c,d四个节点它们的关系是 ab, acd随便找一点假设以a为原创 2015-08-14 21:05:18 · 920 阅读 · 0 评论 -
BFS广搜题目有时间一个个做下来
有时间要去做做这些题目,所以从他人空间copy过来了,谢谢那位大虾啦。 pku 1175 Starry Night 题目地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=1175 解法:BFS,要注意的是如何判断图形是一样的,我的做法就是计算每两个点的距离之和。 看:http://hi.baidu.com/doxi_free/blog/it转载 2015-06-10 15:34:55 · 511 阅读 · 0 评论 -
UVA - 572---Oil Deposits.
基础搜索题,用深搜即可。不小心WA了几次,输入的时候把长和宽弄反了— —! Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangula原创 2015-06-07 20:59:14 · 287 阅读 · 0 评论 -
POJ - 1979 Red and Black
这个题是个深搜,并不复杂,注意递归 进入和跳出的条件,注意每次只能踩四个直冲着的方砖,首先把起始位置找出来,然后,进入递归,每次进入递归后把当前位置置为‘#’,防止多次进入同一个状态。对了,输入时,用gets()读入之前 一定getchar()一下,把回车吃掉,否则有一行将读不进来。 Description There is a rectangular room, cov原创 2015-06-06 11:16:40 · 352 阅读 · 0 评论 -
UVA 247 Calling Circles(Floyd算法传递闭包)
题意: 两两给出名字,形成一组单向关系,输入所有关系后,输出在同一连通分量的所有名字。 解题思路: 首先利用map将名字映射为数字,然后利用Floyd算法传递闭包,最后使用dfs输出即可。 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1原创 2015-11-11 22:03:51 · 430 阅读 · 0 评论