DFS(Depth First Search) 深度优先搜索BFS (Breadth First Search)宽度优先搜索在算法中常用这两种方法。1) DFS考虑用“递归”实现和用 “栈”实现两种方法,因为对于大型问题搜索深度比较深,如果用递归实现的话,栈空间占用比较多,递归调用需要的额外时间也比...
分类:
其他好文 时间:
2014-07-30 09:54:03
阅读次数:
234
欧拉回路解释对于本题我们只要把每个点的度进行记录,判断是否存在奇数度的点,如果是就可以判断不是欧拉回路,如果不是就在一个点出发,进行dfs搜索,看能否走到起点,因为对于欧拉回路是一个闭合的回路,无论在哪个点出发都应当可以走回起点,所以一次性遍历必将经过每个点,如果出现没有走过的点,则不是欧拉回路。 ...
分类:
其他好文 时间:
2014-07-27 22:33:09
阅读次数:
251
题意:一个平面上给你最多50个矩形,可以相交、覆盖,问他们把平面分割成了几部分,整个图形外面广大的空白区域也算一部分。
记得以前见过这种题,当时不会做也没做。现在看到这题还是没想法。在吴琦的讲解和代码下终于弄明白了。
思路是这样,根据他给的坐标点,排序、去重,然后重新构建一个图,至少在相邻两个点之间空出一个点表示被分割的区域,这样之后才能进行搜索,这实际上是把整个图形压缩下来,...
分类:
其他好文 时间:
2014-07-26 15:10:30
阅读次数:
280
为做一个项目选择最合适的语言固然重要,但是,掌握一门自己熟练的兵器,也很重要。
=====================================================================================================================
继续总结搜索类的题目,这一类的题目,目前仅分析简单粗暴的dfs搜索,以及...
分类:
其他好文 时间:
2014-07-22 22:48:34
阅读次数:
175
最裸的反素数问题。求不大于N的数约数最多的数是多少,如果有多个求最小值。 设x的约数个数为g(x),如果有某个正整数a有对于任意0=t2>=t3>=.... 有了这些性质之后,就可以用dfs搜索质因子来求值了 搜索过程如下: 在保证性质1和2的情况下构造出一定长度的指数数组,指数数组的每一个情况就相...
分类:
其他好文 时间:
2014-07-16 21:31:38
阅读次数:
212
1 #include 2 #include 3 #include 4 #include 5 #define MAXN 25 6 using namespace std; 7 int h,w; 8 int ans; 9 int dir[4][2]={-1,0,1,0,0,-1,0,1};10 cha....
分类:
其他好文 时间:
2014-07-13 20:30:45
阅读次数:
215
中国象棋和国际象棋应该还是有些渊源的,的确二者的起源不同。中国象棋在战国以前就有了,而国际象棋流行的说法是起源于古印度。二者在千百年的历史长河中,其规则和形态也都是在一直变化的。中国古代很早就和印度有了往来,所以中国象棋在历史上遇到了国际象棋也是极为有可能的。二者相互影响。然后又各自发展,比如两种象棋的棋盘都是8x8的格子,两种棋中马和象都是一样的走法。而在古代国际象棋中的皇后的走法没有如今这么厉害,文献曾记载的皇后走法和中国象棋的士是相同的。同样在中国曾出土的唐代的象棋棋盘竟然是黑白格子相间的,这无疑与现...
分类:
其他好文 时间:
2014-07-05 23:38:30
阅读次数:
182
这道题和poj的拯救少林神棍是一样的题目。
要用给出的小棍凑成等长的棍子,求能凑成的棍子的最小长度。
直观的包里思路就是枚举所有可能的长度,然后不停的测试小棍组合,先把小棍加入组合,然后不合适就推翻这一根小棍,再测试下一个小棍,直到推翻所有的小棍。
在枚举的时候,我们只需从最长的小棍长,枚举到小棍总长的一半就行了。然后如果再不符合的话,那么就说明所有小棍只能组合成一根棍子了。
我原先看过关于poj上拯救少林神棍这道题目的详细讲解。一个DFS搜索题,这里DFS共有四种剪枝方案:...
分类:
其他好文 时间:
2014-07-03 17:29:03
阅读次数:
161
题目描述 Description
有两个无刻度标志的水壶,分别可装 x 升和 y 升 ( x,y 为整数且均不大于 100 )的水。设另有一水 缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水也可以相互倾倒。已知 x 升壶为空 壶, y 升壶为空壶。问如何通过倒水或灌水操作, 用最少步数能在x或y升的壶中量出 z ( z ≤ 100 )升的水 来。
输入描述 Inpu...
分类:
其他好文 时间:
2014-05-24 21:47:25
阅读次数:
275
题意:有十种珠宝用数字表示,现在给你每个珠宝的数量,问可不可以平均分给两个人。解题思路:DFS搜索可以写。将完全背包问题转换为搜索问题。具体代码:#include#include#includeusing
namespace std;int num[15],sum;bool dfs(int n,in...
分类:
其他好文 时间:
2014-05-22 03:26:34
阅读次数:
206