
dfs
small__snail__5
如果有一天您来到了这里请留下您的痕迹,欢迎各种评论,一同进步。
我愿意做一只小蜗牛,不艳羡别人的速度,而独享自己的慢慢旅程,总有一天,我也可以骄傲的告诉所有人,我虽然慢,但是我不曾放弃,人生总要坚持点什么。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
nyoj 32 组合数
/*这个题是比较水的,数据不大可以直接列出来,博主直接果断1A终于最近刷dfs简单题可以直接A了思路没有什么,这就是一个树的搜索深搜但是细节是控制树的深度不能忘记,博主注释掉的是写的时候改掉的或者测试用的,*/#include #include #include #include using namespace std;int n, r;int vis[10], a[10];原创 2016-10-13 15:37:02 · 394 阅读 · 0 评论 -
hdu3779
/*题意其实就是让你判断答案是否为有所给两列数字按照任意顺序组成的一段序列*//*此题是博主在刷dp时找的但是给我的感觉更应该用dfs,下面的代码看似dp实则有dfs的思想,将一个问题分为了若干子问题从后向前递归,只有两种情况要么此时数字为第一个序列 要么是第二个序列因此在动态规划处理时这里用到了dfs,这里有个小技巧那就是结束时,我们用了int返回值函数那么满足就返回1,其他情况则是返回0,所原创 2017-02-27 20:28:28 · 631 阅读 · 0 评论 -
hdu1027Ignatius and the Princess II
/*此题是博主做过的最简单的dfs,但不得不说很经典的dfs的思路,简单的思路是在给定的一序列中找到第m个最小序列,转换一下思路,若将初始序列作为一个排列,那么每次都是在向下找一个排列的问题,最终找到第m个排列为止*/#include #include #include #include using namespace std;int n, m;//n需要全排列的总数,m需要选出的原创 2016-10-07 22:07:33 · 420 阅读 · 0 评论 -
hdu1455sticks
/*此题是经典的dfs,一般都需要剪枝,思想主要是首先,明确最短的长度肯定是>=样例中最长的,最长的是所有样例的数字加和。其次,通过深搜,从最短到最长一次遍历深搜就可得到最短的,深搜的思想看代码可知*//*做这种题思路清晰后写题有个技巧,边写将注释都写清楚方便梳理思路,思路很重要思路确定后在集中解决边界等情况,因为dfs每一步的回溯都需要很清楚,不能乱*/#include #include原创 2016-10-06 17:35:20 · 670 阅读 · 0 评论 -
poj3009Curling 2.0
/*这个题走法有两种(抽象为一个格子)一是:一次走一格;二是:一次走到空格的尽头。因此便是一个正常深搜,而不用广搜,因为只需将所有步数中最短的路径长度列出,在搜索每一条路径的时候需要注意这两种走法,下面代码有注释此题博主认为,此题值得学习的是在路径长度的选择和这种奇怪的走法,以及通过最近一段dfs的学习,我的感悟是:无论深搜索怎样变核心思想都是深度的回溯,以及在处理时,对边界一层层的判断,以及题目原创 2016-10-15 22:42:37 · 427 阅读 · 0 评论 -
hdu1010
/*此题是经典的dfs,博主最近在看dfs将此题列出作为一个类型,思想就是图的暴力搜索以及记忆以及经典的奇偶剪枝*/#include#include#include#include#includeusing namespace std;int n, m, t, dx, dy, sx, sy, flag;char maze[10][10];int direction[4][2原创 2016-09-29 14:52:44 · 537 阅读 · 0 评论 -
poj2386
Lake CountingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 30021 Accepted: 15001DescriptionDue to recent rains, water has pooled in various places in Farmer John's field, which is represen原创 2016-09-16 17:48:26 · 399 阅读 · 0 评论 -
hdu1016
/*此题是一个典型的引用dfs的题细节颇多很有意思可能是博主之前刚学习完的缘故这道题若用素数打表会超时但是博主没有试高效打表法,直接用判断素数函数就好。此题思路是深搜每两个相邻的和是素数加一些边界判断想通了简单 一定要思路清楚不局限于作此题这个思路很相同*/#include #include #include #include #define maxx 1000000+10usin原创 2016-09-23 10:30:27 · 483 阅读 · 0 评论 -
poj2488A Knight's Journey
/*这个题有很多方法但是我直接想到的是dfs,经典dfs的方法,思想沿用深搜的思想,控制好边界条件,主要就是一个安字典序排列的问题,这个需要规定一个特定的方向即可,如下面数组里dir的方向其他没什么了,这类题需要在脑子有一个固定的深搜的模式,虽然题可能很灵活但是用的方法不会变化太多不然怎么可能叫dfs,熟练掌握那种思维方法很重要*/#include #include #include #i原创 2016-10-14 14:28:06 · 407 阅读 · 0 评论 -
hdu1312
//题意:一个起始地点‘@’,‘#’代表墙不能走,‘.’可以走的点,问能够走的 '.'有多少个//思路:用dfs思路将起始点的坐标获取到,通过题目要求只能走的四个方向确立一个规则树,然后向下搜索即可。#include <iostream>#include <cstdio>#include <cstring>using namespace std;...原创 2018-02-21 13:53:11 · 561 阅读 · 0 评论