上一页 1 ··· 26 27 28 29 30
  2012年5月11日
摘要: 半年前在POJ上遇到过一次剪枝的题目,那时觉得剪枝好神秘。。。今天在网上查了半天资料,终于还是摸索到了一点知识,但是相关资料并不多,在我看来,剪枝是技巧,而不是方法,也就是说,可能一点实用的小技巧,让程序可以少判断一点,这就是剪枝,剪枝无处不在,搜索的进程可以看作是从树根出发,遍历一棵倒置的树—-搜索树的过程。而所谓的剪枝,顾名思义,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是减去了搜索树中的某些“枝条”,故称剪枝。(杭电课件上是这么说的:即剪去解答树上已被证明不可能存在可行解或最优解的子树.)既然采用了搜索,剪枝就显得十分的必要,即使就简简单单的设一个槛值,或多加一两条判断,就 阅读全文
posted @ 2012-05-11 21:33 有间博客 阅读(3879) 评论(0) 推荐(0) 编辑
摘要: 经典深搜加剪枝问题!问题主要是奇偶剪枝这地方卡了许久,步数剪枝也没考虑到,还有对DFS于BFS的区别了解不多。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010存在的问题:1、对深搜和广搜的理解不深刻,特别是回溯的状态与条件。2、实现一个算法的速度还比较慢! 3、以后少花时间去追程序的BUG,多花时间去想想算法!剪枝前后对比:第一个是删掉奇偶剪枝后的情况:int temp=T - t - abs(x - n) - abs(y - m); //奇偶剪枝if(temp < 0 || temp & 1) return ;第二个是删掉步 阅读全文
posted @ 2012-05-11 17:38 有间博客 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 深搜,主要是搜索状态的确定与转移。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016通过题目发现的问题:1、对深搜确定一个搜索状态还不太清楚。2、实现一个算法还比较慢,以后要勤加练习!小结:深搜其实是一种盲目搜索,是利用计算机高效计算性能从而找到结果的一种方法!正确的CODE:1#include<stdio.h>2#include<stdlib.h>3#include<string.h>4#include<assert.h>5#include<math.h>6#defineMAX_L 阅读全文
posted @ 2012-05-11 16:45 有间博客 阅读(222) 评论(0) 推荐(0) 编辑
  2012年5月10日
摘要: DFS:/*该DFS框架以2D坐标范围为例,来体现DFS算法的实现思想。*/#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;const int maxn=100;bool vst[maxn][maxn]; // 访问标记int map[maxn][maxn]; // 坐标范围int dir[4][2]={0,1,0,-1,1,0,-1,0}; // 方向向量,(x,y)周围的四个方向bool CheckEdge(int x,int y) // 边界条件和约束条件的判断 阅读全文
posted @ 2012-05-10 17:04 有间博客 阅读(1017) 评论(0) 推荐(0) 编辑
  2012年4月22日
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1008水题,主要是逻辑关系搞清楚!2usingnamespacestd;3#include<iostream>4intmove(intc,intn){5if(c < n)return(n-c)*6 + 5;6elsereturn(c-n)*4 + 5;7}89intmain()10{11intn, curfloor, nextfloor, time;12while(scanf("%d", &n)){13if(n == 0)break;14time = c 阅读全文
posted @ 2012-04-22 20:28 有间博客 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1062小结:水题,注意最后一行别输出空格就行!用到了栈这种数据结构!CODE:#include<stdlib.h>#include<stdio.h>#include<string.h>#include<stack>usingnamespacestd;stack<char>s;constintSIZE=1001;charsz1[SIZE];charsz2[SIZE];voidoutput(charsz1[]){intlen=strlen(sz 阅读全文
posted @ 2012-04-22 19:59 有间博客 阅读(377) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30