搜索
最光阴.
这个作者很懒,什么都没留下…
展开
-
DFS搜索
DFS搜索 DFS(深度搜索)是一种基础的穷竭搜索方式,从某个状态开始,一直不停的转移的状态直至无法转移,然后回溯到上一步的状态,然后反复进行以上行为,直至得到最终答案,或者遍历完所有情况,发现无解。DFS主要以递归的方式实现,该方法是一种偏向于暴力的搜索方法,但也可以通过巧妙的剪枝处理,降低其时间复杂度。 老规矩 直接上例题:POJ 3009; There is a recta原创 2017-02-17 22:33:08 · 399 阅读 · 0 评论 -
BFS搜索
BFS搜索是一种基础的图遍历算法,在很多算法中都有体现。 BFS搜索的核心思想:首先我们引入一个层的思想,来帮助大家理解。首先初始一个节点为起点,其即为0层。凡是由0层节点能一步到达的节点都为一层,凡是由一层节点能一步到达的节点都为二层,以此类推直至标记完所有的层。(以上为一种思想策略,在算法中并不需要具体实现)。 然后由0层开始遍历,若未发现目标,再去遍历一层,若未发现目标,在去遍历二层原创 2017-02-19 20:25:08 · 383 阅读 · 0 评论 -
HZU-2150
题目大概意思是,有个N*M的广场有些地方有草,有些地方是土地,如果片草地着火,火会在下一秒蔓延到它的上下左右四个有草的地方去。问两把火把草地点完的最短时间。如果两把火烧不完所有的草地,则输出-1;思路:用暴力的方法枚举每两个草地,计算烧完的时间,不断更新最小值。#include #include #include #include #include using namespace s原创 2017-03-28 18:59:07 · 215 阅读 · 0 评论 -
禁止字符串(大白p368)
考虑只由’A’,’G’,’C’,’T’四种字符组成的DNF字符串 给定一个长度为k的字符串S,计算长度恰好为n的且不包含S的字符串的个数输入结果对10009取模 。 1<=k<=100 1<=n<=10000 输入: n = 3, k = 2, S = “AT” 输出: 56思路:字符串预处理+动态规划;在以下代码中有两个数组next[i][j] 与dp[i][j] 分别代表了以上思原创 2017-07-20 22:35:40 · 946 阅读 · 0 评论 -
I - Little Zu Chongzhi's Triangles HDU - 5135
状压搜索加剪枝。#include #include #include #include #include #include using namespace std;const int N = 10009;struct node{ int v, l; node() {}; node(int _v, int _l):v(_v),l(_l) {};};vectorTree原创 2017-10-20 21:18:16 · 265 阅读 · 0 评论