![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
MatrixYg
暂无
展开
-
HDU——1241
1.题目链接。题目的大意就是一张地图上,有很多个标志,其中@代表的是有油田,*代表的是没有油田。并且一个油田的八个方向相连的油田被视为同一块油田,现在给你一地图,确定一下这张图上有多少块油田。2.这是一个入门的dfs。我想着应该重新学一下dfs,因为之前理解的一点也不深刻。就从这个题开始吧,这个题是dfs入门的经典题型。首先我们可以知道这是一个八个方向的搜索,其实搜索的目的很简单,假设我们现在...原创 2019-01-05 13:00:22 · 148 阅读 · 0 评论 -
HDU2553_N皇后问题
1.题目链接。题目就是经典的八皇后问题,同一行同一列只能有一个皇后,并且对角线上也不能有相对的皇后。我们先用dfs解决这个问题,其实这个问题的解法有很多种。下面时代码:#include "stdafx.h"#include<iostream>#pragma warning(disable:4996)using namespace std;int n, sum;int x...原创 2019-01-05 19:13:58 · 162 阅读 · 0 评论 -
HDU1518_dfs拼正方形
1.题目链接。题目的意思十分简单,就是给你一些木棒以及这些木棒的长度,问他们能不能拼成一个正方形。看到这个问题,我们首先想到的是这些木棒的总和一定要是4的倍数,否则一定是不可行的。但是就算是判断了是4的倍数,之后该怎么办呢?我们可以采用dfs搜索解决这个问题。dfs的参数:cur,pos,res.我们首先明确一个问题,如果这些数据满足条件,我们拼完3条边就行了,最后一条边一定是成立的。所以我们df...原创 2019-01-05 21:41:45 · 886 阅读 · 0 评论 -
HDU2614
1.题目链接。题目的大意:有一些大佬在做题的时候,是喜欢难度递增的。(这就是大佬与我的区别,我都是喜欢递减)难度是用解决这道题的时间来衡量的,但是题目中是这样表述的,也就是说解决这个题用的时间,一定要比下一题少。问找到一种合适的顺序,让大佬尽可能多的做题。2.分析:题目中该有一些条件,就是做第一题的总是0,然后有一个相关的矩阵,这个矩阵告诉了我们一些信息,就是题目与用时之间的关系。其实很显然,...原创 2019-01-19 18:59:03 · 210 阅读 · 0 评论 -
HDU2563
1.题目链接。这个应该叫做回溯的裸题,感受一下dfs过程中是如何回溯的。但是这个程序的复杂度还是很高的,如果直接每次输入都dfs会TLE,所以我们把所有的数据全部打个表放到数组1里面。直接0ms就过了。打表的程序没了,嘿嘿,就直接给出AC的代码吧#include<bits/stdc++.h>using namespace std;int a[21]={0,3,7,17,41,...原创 2019-01-20 18:56:30 · 200 阅读 · 0 评论 -
HDU1010_一个很有意思的DFS
1.题目链接。题目的大意就是给定一个迷宫,判定是否可以在规定的时间内从起点走到终点。这和一般的DFS有着一定的区别,这里我们不需要最短路,只需要一条最合适的道路,因为这个门的打开是在规定时间打开的,去早了也不行,去晚了也不行,所以所以这里我们需要找到一条合适的路。这个体现程序中也就是我们在搜索的过程中需要加上判断的条件。2.分析:其实这个问题不是很困难,搜索就是一种优雅的暴力嘛,我们只需要把每...原创 2019-01-16 22:29:27 · 266 阅读 · 0 评论 -
【HDU1978】记忆化搜索
1.题目链接。题目意思就很明显了,每走到一个格子可以获得这个格子的能量,然后凭借这些能量可以继续走到写一个格子。那么群从起点走到重点有多少中走法。2.可以DP,当然最简单的写法还是dfs加记忆化了。dp[x][y]表示从(x,y)到终点有多少中走法,那么直接搜索即可。代码如下:#include<bits/stdc++.h>#include<iostream>#...原创 2019-02-12 23:31:07 · 440 阅读 · 5 评论 -
【HDU1078】dfs+dp
1.题目链接。题目大意:有一个方格,每个格子中储存了一定数量的食物,老鼠在这个格子上吃食物,它可以上下左右四个方向走,每次最多走k步,并且下一步格子储存的食物一定要比当前所在的这个格子的数量多。那么求解老鼠最多可以吃到多少食物。2.5555,这题虽然不难,但是有点坑,写了半天。。。。首先时坐标合法性检查的问题,一定要线检查坐标是不是在格子内,再检查是不是可以走。否则就会re。。。再者就是dfs...原创 2019-02-18 22:33:04 · 236 阅读 · 0 评论 -
【HDU 5952】Counting Cliques
1.题目链接。图的完全子图计数。2.搜索一下就完事,对于每个点搜一下。代码中关键地方注释了一下,很好看懂。#include<bits/stdc++.h>using namespace std;const int MAXN = 110;vector<int>G[MAXN];int mp[MAXN][MAXN];int n, m, s, T;int ans...原创 2019-07-14 14:50:56 · 262 阅读 · 0 评论