搜索
文章平均质量分 68
立華奏
这个作者很懒,什么都没留下…
展开
-
DFS
DFS(深度优先搜索),一条路搜到底,不撞南墙不回头,一般用于判断给定一些元素能否得到结果,和BFS刚好相对,有一个隐式的栈,需要用递归实现。题目:给定n个元素,这些元素相加(每个元素最多用一次),能得到k吗?核心代码:bool dfs(int i, int sum){ if(i == n) return sum == k; //加不加的情况都遍历一下 if(dfs(原创 2014-03-15 22:17:52 · 575 阅读 · 0 评论 -
hdoj 5040 bfs
hdoj 5040题意:一个特工要去取一个东西,每走一格需要1个单位时间,路上有监视器,监视器监视范围为两格,即所在格和方向格,并且每过一个单位时间会顺时针旋转90度;特工有隐身衣,可以无视监视器移动,但是这样每走一步需要3个单位时间。思路:就是一个bfs,当移动的时候需要注意当前格和目标格在当前时间是不是被监视着,因为每走一步可能耗费的时间是1秒(正好当前不被监视)2秒(1秒后不被监视)原创 2015-08-07 10:32:10 · 346 阅读 · 0 评论 -
hdoj 5024 枚举+dfs
hdoj 5024题意:找一条最长的最多有一个90度拐点的路径,输出长度。思路:枚举所有点做拐点,dfs最长路径。#include #include #include #include using namespace std;int d[8][2] = {1, 0, -1, 0, 0, 1, 0, -1, 1, 1, -1, -1, 1, -1, -1, 1};int tu原创 2015-08-07 11:32:59 · 353 阅读 · 0 评论 -
hdoj 4753 博弈+搜索
hdoj 4753题意:给一个九宫格涂边,每次涂的边长为1,如果涂的这条边可以组成p个边长为1的正方形,就加p分,现在Tom和Jerry已经走了若干步,问接下来若两人用最优策略,谁会赢。思路:刚开始没仔细读题以为就是个简单的模拟。。。没想到是个博弈,但是博弈题我没怎么做过啊。。首先要了解必胜态和必败态的概念,在一棵博弈树上,如果该步是叶子节点,那么根据条件分高的就获胜,是必胜态,反之就原创 2015-08-12 13:46:52 · 652 阅读 · 0 评论 -
hdu 5113 Black And White
Black And WhiteTime Limit: 2000/2000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 1173 Accepted Submission(s): 306Special JudgeProblem Descr原创 2015-06-04 21:46:41 · 435 阅读 · 0 评论 -
搜索专题小结(一)hdu 4634 1428 4277 1044 1043
hdu 4634 Swipe Bo题意:让Bo向四个方向移动,如果碰到了墙Bo就会停下来,如果遇到转弯标识就要转向,直到搜集完全部钥匙后到达出口,求能否完成任务并输出最少步数。思路:这个题在标记状态的时候需要加一维记录方向,并将方向的判断放在最前面,题目不是很难,就是细节特别多。AC代码:#include #include #include using namespace s原创 2014-12-25 21:39:25 · 478 阅读 · 0 评论 -
二分查找 三分查找
二分查找是在一个单调序列中,通过不断缩小原创 2014-06-13 12:17:24 · 970 阅读 · 0 评论 -
迭代加深搜索 + dp vijos 1159
迭代加深搜索:原创 2014-05-19 22:59:31 · 932 阅读 · 0 评论 -
Catch That Cow!
题目:hdoj : http://acm.hdu.edu.cn/showproblem.php?pid=2717思路:利用BFS的逐步搜索来实现最短少用时,和数组记录来排除不需要的点。AC代码:#include#include#includeusing namespace std;const int M = 200100;int d[M];int a, b; in原创 2014-03-16 21:52:39 · 520 阅读 · 0 评论 -
BFS
BFS(宽度优先搜索), 思路是以出发点为中心,一圈圈向外搜索,常用于迷宫最短路问题。思想:从起点遍历周围能到达的各点,然后将可以到达的点加入队列中,利用队列先进先出的特性,实现BFS。题目:hdoj : http://acm.hdu.edu.cn/showproblem.php?pid=1242思路:典型的BFS,需要注意的是。AC代码:#include#include原创 2014-03-15 21:56:57 · 480 阅读 · 0 评论 -
【更新】hdoj 1242 A*
首先这题就是个水题,主要试验一下A*算法。 A*的思路: f(g) = d(g) + h(g) f(g)是预估长度,d(g)是走到当前点所用的距离,h(g)是从当前点走到目标点的预估距离,在二维方格地图中一般取曼哈顿距离作为预估。 算法核心流程: 1.每走一格更新当前点周围各点的f(g),并存入数组中; 2.每次取f(g)最小的点,并重复上步 这样路径搜索就有一定的趋向性,可以减小搜索原创 2016-03-25 10:35:43 · 606 阅读 · 0 评论